【发布时间】:2011-02-11 23:58:10
【问题描述】:
我正在寻求将 ASCII MD5 散列密码转换为 Unicode MD5 散列密码的帮助?
例如,我将使用字符串“密码”。
当它转换为 ascii 字节数组时,我得到了 X03MO1qnZdYdgyfeuILPmQ== 的 base64 编码哈希 当它转换为 unicode 字节数组时,我得到 sIHb6F4ew//D1OfQInQAzQ==
的 base64 编码哈希我所有的密码都存储在应用于 ascii 字节数组的 md5 哈希中,但我正在尝试将我的应用程序的用户数据迁移到将密码存储在应用 unicode 字节数组的 md5 哈希中的系统。
如果不清楚,使用以下C#代码:
var passwordBytes = Encoding.ASCII.GetBytes("password");
var hashAlgorithm = HashAlgorithm.Create("MD5");
var hashBytes = hashAlgorithm.ComputeHash(passwordBytes);
我当前的系统使用它,但我要迁移到的系统有不同的第一行。它使用 Encoding.Unicode.GetBytes。
有人知道如何转换我的密码吗?来自
X03MO1qnZdYdgyfeuILPmQ==
进入
sIHb6F4ew//D1OfQInQAzQ==
我猜答案是我不能......编码是在散列之前完成的,但我想我会询问 stackoverflow 的聪明人,看看是否有人有办法。
【问题讨论】: