В приведенном ниже исходном коде c #
static string GenerateKey()
{
DESCryptoServiceProvider desCrypto = (DESCryptoServiceProvider)DESCryptoServiceProvider.Create();
return ASCIIEncoding.ASCII.GetString(desCrypto.Key);
}
static void Main()
{
string sSecretKey;
sSecretKey = GenerateKey();
GCHandle gch = GCHandle.Alloc(sSecretKey, GCHandleType.Pinned);
}
как указать физический адрес, где хранится это значение, и получить значение, введенное пользователем с помощью анализа дампа памяти
- IsASCIIEncoding.ASCII.GetString (desCrypto.Key);преобразование байтового массива в UTF-16?
- Если я печатаю sSecretkey, я получаю что-то вроде этого? ♀i? & ☺ ??.Это потому, что это кодировка UTF-16, и если какой-либо символ не имеет соответствующего символа для этого конкретного значения байта, он будет отображаться как '?'