Sid*_*qui 7 c# cryptography pbkdf2
我在C#中有以下代码
PasswordDeriveBytes DerivedPassword = new PasswordDeriveBytes(Password, SaltValueBytes, HashAlgorithm, PasswordIterations);
byte[] KeyBytes = DerivedPassword.GetBytes(32);
Run Code Online (Sandbox Code Playgroud)
我正在使用"SHA1"哈希算法.
根据SHA1定义,它生成160位(20字节)密钥.我的问题是GetBytes方法如何从DerivedPassword中获取32个字节,GetBytes方法后面使用了什么算法?
GetBytes方法背后使用什么算法?
它使用算法PBKDF1,稍作修改以允许任意密钥长度.替换类,Rfc2898DeriveBytes使用PBKDF2.
您可以阅读关于PBKDF2的维基百科文章,以了解基础概念使其发挥作用的一般概念.