【发布时间】:2012-03-01 03:13:32
【问题描述】:
您好,我有一些使用以下代码生成的字符串:
private static string CalcHashCode(byte[] data)
{
MD5CryptoServiceProvider md5Provider = new MD5CryptoServiceProvider();
Byte[] hash = md5Provider.ComputeHash(data);
return Convert.ToBase64String(hash);
}
如何从编码的base64字符串中得到一个唯一的long,我的意思是相反的操作,然后将其转换为long?
private long CalcLongFromHashCode(string base64Hashcode)
{
//TODO
}
提前致谢。
【问题讨论】:
-
Base64 decode in C# or Java 的可能重复项
-
那是真的相反的操作吗?
-
在不显着截断散列值的情况下,将 MD5 转换为 long 是行不通的。 MD5 吐出一个 128 位的数字,而 long 是 64 位(目前)。