C#的哈希
2006-08-21 21:01
211 查看
哈希算法是啥?哈希英文hash,是一种数学算法,它能把任意长度的值转换成固定长度的值,而且映射关系唯一并算法不可逆,理论上不拿到原值,是不可能得到对应的哈希值的,但是这都是历史了,中国科学院的王小云已经初步破解了基于哈希算法的MD5和SHA1算法,所以.NET库里面能够安全使用的估计只有SHA256Managed、SHA384Managed、SHA512Managed了,不过这些东西也只是基于SHA1增加复杂度而已,估计也扛不了多长时间了,我建议大家现在直接用SHA512Managed好了。
SHA512Managed生成512位哈希值,使用方法很简单:
private string SHA512(string strPlain)
{
SHA512Managed sha512=new SHA512Managed();
string strHash=string.Empty;
byte[] btHash=sha512.ComputeHash(UnicodeEncoding.Unicode.GetBytes(strPlain));
for(int i=0;i<btHash.Length;i++)
{
strHash=strHash+Convert.ToString(btHash[i],16);
}
return strHash;
}
SHA512Managed生成512位哈希值,使用方法很简单:
private string SHA512(string strPlain)
{
SHA512Managed sha512=new SHA512Managed();
string strHash=string.Empty;
byte[] btHash=sha512.ComputeHash(UnicodeEncoding.Unicode.GetBytes(strPlain));
for(int i=0;i<btHash.Length;i++)
{
strHash=strHash+Convert.ToString(btHash[i],16);
}
return strHash;
}
相关文章推荐
- C# 中使用 MD5 算法计算 hash (哈希)值的四种方法
- SDUTOJ 3059 C#中类的继承性 ——字典树(哈希用法),map
- C#中一些常用的加密和哈希处理
- C# 哈希加密
- C#部分---特殊集合:stack栈集合、queue队列集合、哈希表集合。
- C#的哈希
- C#的哈希
- c#的哈希(hash)算法解析
- c# 加密/解密 哈希
- C# 哈希加密
- C# 中使用 MD5 算法计算 hash (哈希)值的四种方法
- C# 哈希加密
- C#获取哈希加密生成随机安全码的类实例
- C# 哈希表的实现
- C#.Net 中ArrayList 与 Array ,哈希表的区别
- C# 中使用 MD5 算法计算 hash (哈希)值的四种方法
- c# 哈希表集合;函数
- c#哈希表的用法
- 简单实用的DataSet更新数据库的类+总结(c#) 选择自 allen_21229 的 Blog
- c# 类的高级技术2 --------运算符重载