У меня есть SecureString в моем коде на C#, который мне нужно передать в DLL. Я бы предпочел не делать Marshalling, поскольку кажется, что когда это происходит, SecureString не шифруется (и, следовательно, не защищается). Итак, вопрос в том, есть ли эквивалент C# SecureString в C++, чтобы я мог передать SecureString из моего кода C# в C++ DLL ... или если есть лучший/другой способ, так что мне не нужно дешифровать SecureString передать его в DLL.Есть ли эквивалент C# SecureString в C++?
0
A
ответ
1
Предполагая, что ваш компилятор C++ нацелен на Common Language Runtime (CLR), вы можете использовать ту же самую реализацию SecureString
.
using namespace System;
using namespace System::Security;
int main(array<System::String ^> ^args)
{
// Define the string value to assign to a new secure string.
Char chars[4] = { 't', 'e', 's', 't' };
// Instantiate the secure string.
SecureString^ testString = gcnew SecureString();
// Assign the character array to the secure string.
for each (Char ch in chars)
{
testString->AppendChar(ch);
}
// Display secure string length.
Console::WriteLine("The length of the string is {0} characters.",
testString->Length);
delete testString;
return 0;
}
// The example displays the following output:
// The length of the string is 4 characters 4 characters
Смежные вопросы
- 1. Есть ли эквивалент статичности C в C#?
- 2. SecureString to Byte [] C#
- 3. C#: есть ли JTable эквивалент?
- 4. Есть ли стандартный C++-эквивалент C# Vector3?
- 5. Есть ли C# эквивалент C++ std :: partial_sort?
- 6. Есть ли эквивалент Expression.Parameter в C# 2.0
- 7. Есть ли эквивалент JavaScript parseInt в C#?
- 8. Есть ли эквивалент TryParse в C++ (gcc)?
- 9. Есть ли бит-эквивалент sizeof() в C?
- 10. Есть ли эквивалент Groovy в C#?
- 11. Есть ли эквивалент Python ImportError в C#
- 12. Есть ли эквивалент% *, или Environment.CommandLine в C?
- 13. Есть ли эквивалент F # Seq.windowed в C#?
- 14. Есть ли эквивалент типа var в C++?
- 15. Есть ли эквивалент str_replace в C++?
- 16. Есть ли эквивалент UIImageRenderingModeAlwaysTemplate в C#/UWP?
- 17. Есть ли эквивалент XSD2Code в native C++?
- 18. Есть ли эквивалент C# Process.Start в PHP?
- 19. Есть ли эквивалент random_device в C
- 20. Есть ли эквивалент эха в asp.net C#
- 21. Есть ли стандартный эквивалент getch() в C++?
- 22. Есть ли эквивалент java setFocusable() в C#?
- 23. Есть ли эквивалент urllib python в c/C++?
- 24. Есть ли эквивалент динамического применения C++ в Objective-C?
- 25. Есть ли эквивалент в C для шаблонов C++?
- 26. Есть ли эквивалент Typcript для атрибутов C#
- 27. Есть ли эквивалент Java для C# HttpServerUtility.UrlTokenDecode?
- 28. Есть ли эквивалент C++ для python functools.partial
- 29. Есть ли VB.NET эквивалент параметров C# out?
- 30. Есть ли эквивалент C++ для java.lang.Number?
http://stackoverflow.com/questions/1508082/how-is-a-securestring-marshalled-to-unmanaged-code – Ralf
Вы только собираетесь, чтобы иметь возможность отправлять, что как простой текст, возможно, выглядят при использовании ProtectedData.Protect в C# и CryptUnprotectData на C++, оба используют DPAPI –
@ Ralf Я специально сказал, что пытался избежать маршалинга. – njbuwm