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.效果图

  • 相关阅读:
    常见的JedisConnectionException 异常
    使用jstack分析解决进程死锁问题
    微信支付(java版本)_统一下单
    使用Quartz任务调用的时候报错Based on configured schedule, the given trigger will never fire.
    什么是localStorage、sessionStorage,与cookie的区别?
    JavaScript for循环、数组高级语法
    SpringBoot集成Swagger2
    SpringMVC全局异常处理,看这一篇就够了
    SpringMVC文件上传的三种方法
    HDU 2089 不要62 数位dp
  • 原文地址:https://www.cnblogs.com/liqingwen/p/4603278.html
Copyright © 2011-2022 走看看