【发布时间】:2012-10-15 04:48:48
【问题描述】:
我正在使用 C#,想知道为什么 .Net 函数 PasswordDeriveBytes 返回的结果与其他 SHA256 算法不同。
我这样称呼它:
byte[] saltValueBytes = Encoding.ASCII.GetBytes(saltValue);
var hash = PasswordDeriveBytes("1234567890", saltValueBytes, "SHA256", 1);
byte[] SHA256Pass = hash.GetBytes();
我希望得到哈希 c775e7b757ede630cd0aa1113bd102661ab38829ca52a6422ab782862f268646
但是我得到了 b????????A?n?z$?]??9,m^????@n?
我不知道问题是什么。这个函数是如何工作的以及为什么我得到的结果看起来不像 SHA 256 哈希。
谢谢
【问题讨论】:
-
对于其他 SHA256 算法,您的意思是 sha256(salt || txt) 还是其他人的 PBKDF1 实现?
-
确实,即使基本算法相同,也有很多方法可以散列一些东西。 PasswordDeriveBytes 的文档指出它是 PBKDF1 的变体,并不完全相同。
标签: c# encryption hash sha256