简析散列算法在C# 加密中的应用

散列算法是C# 加密中经常会用到的方法,那么什么是散列算法呢?它的作用是如何实现的呢?那么这里就向你详细介绍执行的具体过程,我们在学习之前要明白创建散列码的方法很多,其实即使是同一种散列算法也可以通过许多类来实现,以 SHA1 为例:

散列算法在C# 加密的实现实例:

 
 
 
  1. string plaintext = "明文";  
  2.  
  3. byte[] srcBuffer =   
  4. System.Text.Encoding.UTF8.GetBytes(plaintext);  
  5.  
  6. HashAlgorithm hash = HashAlgorithm.Create("SHA1");   
  7.  
  8. //将参数换成“MD5”,则执行 MD5 加密。不区分大小写。  
  9.  
  10. byte[] destBuffer = hash.ComputeHash(srcBuffer);  
  11.  
  12. string hashedText = BitConverter.ToString(destBuffer).Replace("-""");  

用的是 HashAlgorithm 这个类,其名称空间是 System.Security.Cryptography。只用了它的两个方法:Create 和 ComputeHash,ComputeHash 返回的是 byte[],为了显示这里转换成字符串,转换之后,它和前一节讲的 SHA1 结果是一样的。

也可以用 SHA1Managed 和 SHA1CryptoServiceProvider,但是我们推荐用本文的方法,因为它不涉及类名,要更改算法,只需要更改 Create 的字符串参数即可。

散列算法在C# 加密中的使用就向你介绍到这里,希望对你了解和学习散列算法和C# 加密有所帮助。

【编辑推荐】

  1. C# XML序列化实例学习诠释
  2. 浅析XML序列化的优缺点
  3. 浅析C# XML编程实现添加XML文件内容
  4. C# XML编程删除XML文件内容操作详解
  5. 浅谈C# 加密中MD5和SHA1加密实现
THE END