csdnfelix 2009-09-09
散列算法是C# 加密中经常会用到的方法,那么什么是散列算法呢?它的作用是如何实现的呢?那么这里就向你详细介绍执行的具体过程,我们在学习之前要明白创建散列码的方法很多,其实即使是同一种散列算法也可以通过许多类来实现,以 SHA1 为例:
散列算法在C# 加密的实现实例:
string plaintext = "明文"; byte[] srcBuffer = System.Text.Encoding.UTF8.GetBytes(plaintext); HashAlgorithm hash = HashAlgorithm.Create("SHA1"); //将参数换成“MD5”,则执行 MD5 加密。不区分大小写。 byte[] destBuffer = hash.ComputeHash(srcBuffer); string hashedText = BitConverter.ToString(destBuffer).Replace("-", "");
用的是 HashAlgorithm 这个类,其名称空间是 System.Security.Cryptography。只用了它的两个方法:Create 和 ComputeHash,ComputeHash 返回的是 byte[],为了显示这里转换成字符串,转换之后,它和前一节讲的 SHA1 结果是一样的。