Rfc2898DeriveBytes + PBKDF2 + SecureString можно ли использовать защищенную строку вместо строки?

У меня есть функция GetPassword, которая возвращает тип SecureString.

Когда я передаю эту безопасную строку в Rfc2898DeriveBytesдля создания ключа, Visual Studio показывает ошибку. Мои ограниченные знания говорят мне, что это потому, что Rfc2898DeriveBytesпринимает только строку, а не защищенную строку. Есть ли обходной путь для этого?

//read the password from terminal
Console.Write("Insert password");
securePwd = myCryptography.GetPassword();

//dont know why the salt is initialized like this
byte[] salt = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0xF1, 0xF0, 0xEE, 0x21, 0x22, 0x45 };
 try
 {   //PBKDF2 standard 
     Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(securePwd, salt, iterationsPwd);
5
задан CodesInChaos 8 February 2013 в 15:22
поделиться