黑纸天龙贴吧:简析散列算法在C# 加密中的应用 - 51CTO.COM

来源:百度文库 编辑:九乡新闻网 时间:2024/05/03 17:09:52
  • 简析散列算法在C# 加密中的应用

  • http://developer.51cto.com  2009-09-09 18:41  佚名  cftea.com  我要评论(0)
    我们知道在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# 加密有所帮助。