zoukankan      html  css  js  c++  java
  • C#:Md5和Sha1两种加密方式

    1.新建控制台应用程序

    2.新建类 EncryptHelper.cs

     1     public static class EncryptHelper
     2     {
     3         /// <summary>
     4         /// 基于Md5的自定义加密字符串方法:输入一个字符串,返回一个由32个字符组成的十六进制的哈希散列(字符串)。
     5         /// </summary>
     6         /// <param name="str">要加密的字符串</param>
     7         /// <returns>加密后的十六进制的哈希散列(字符串)</returns>
     8         public static string Md5(this string str)
     9         {
    10             //将输入字符串转换成字节数组
    11             var buffer = Encoding.Default.GetBytes(str);
    12             //接着,创建Md5对象进行散列计算
    13             var data = MD5.Create().ComputeHash(buffer);
    14 
    15             //创建一个新的Stringbuilder收集字节
    16             var sb = new StringBuilder();
    17 
    18             //遍历每个字节的散列数据 
    19             foreach (var t in data)
    20             {
    21                 //格式每一个十六进制字符串
    22                 sb.Append(t.ToString("X2"));
    23             }
    24 
    25             //返回十六进制字符串
    26             return sb.ToString();
    27         }
    28 
    29         /// <summary>
    30         /// 基于Sha1的自定义加密字符串方法:输入一个字符串,返回一个由40个字符组成的十六进制的哈希散列(字符串)。
    31         /// </summary>
    32         /// <param name="str">要加密的字符串</param>
    33         /// <returns>加密后的十六进制的哈希散列(字符串)</returns>
    34         public static string Sha1(this string str)
    35         {
    36             var buffer = Encoding.UTF8.GetBytes(str);
    37             var data = SHA1.Create().ComputeHash(buffer);
    38 
    39             var sb = new StringBuilder();
    40             foreach (var t in data)
    41             {
    42                 sb.Append(t.ToString("X2"));
    43             }
    44             
    45             return sb.ToString();
    46         }
    47     }

    3.修改 Program.cs 进行输出

     1     class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             const string s = "123456";
     6             Console.WriteLine("密码:"+s);
     7 
     8             Console.WriteLine("Md5:"+s.Md5());
     9             Console.WriteLine("长度:"+s.Md5().Length);
    10 
    11             Console.WriteLine("Sha1:" + s.Sha1());
    12             Console.WriteLine("长度:" + s.Sha1().Length);
    13 
    14             Console.Read();
    15         }
    16     }
    View Code

    4.效果图

  • 相关阅读:
    SQL Server 中WITH (NOLOCK)浅析
    C#中Monitor对象与Lock关键字的区别分析
    lock,Monitor,Mutex的区别
    如何在windows7中使用“专用字符编辑器”中的字
    ppapi,npapi
    配置OpenLDAP,Java操作LDAP,DBC-LDAP进访问
    List of Mozilla-Based Applications
    TLS协议分析
    编译Chrome详细步骤
    黑客惯用软件
  • 原文地址:https://www.cnblogs.com/liqingwen/p/4603278.html
Copyright © 2011-2022 走看看