AES - это имя, которое NIST дал Rijndael ...

аюсь реализовать шифрование AES в моем приложении. У меня есть следующий код для создания хешированной версии пароля пользователя.

PasswordDeriveBytes passwdHash = new PasswordDeriveBytes( password, salt, 
                                                          "SHA1", 128 );
byte[] keyBytes                = passwdHash.CryptDeriveKey( "AES", "SHA1", 
                                                            192, iv );

Вторая строка бросаетSystem.Security.Cryptography.CryptographicException с сообщением об ошибкеObject identifier (OID) is unknown, Я использовал Reflector, чтобы убедиться, что ошибка генерируется, потому чтоCryptDeriveKey() не нравится имя алгоритма "AES" (я используюAesCryptoServiceProvider() выполнить шифрование). Я попытался изменить имя на «AESManaged», «AES192» и «Rijndael», но все они выдают одно и то же исключение.

Как мне заставить это работать? Или есть альтернативный метод получения байтов ключа? Кроме того, есть ли документация о том, что разрешенные строки имен алгоритма? Я не могу найти ничего в документах MSDN для этой функции.

Я использую Visual Studio 2008 и целевой .NET Framework 3.5

Заранее спасибо за помощь!

Ответы на вопрос(2)

Ваш ответ на вопрос