zoukankan      html  css  js  c++  java
  • MD5加密

       public string Second_MD5(string str)
            {
                MD5 md5 = MD5.Create();//创建MD5实例
                byte[] strbyte = Encoding.UTF8.GetBytes(str);//用UTF8这样对于汉字的编码就和网上一样了
                byte[] mdbyte = md5.ComputeHash(strbyte);//将字节数组转成哈希值
                StringBuilder sb = new StringBuilder();
                //将加密之后的二进制数组转换成字符串进行输出
                //是将二进制数组中的每一个元素逐个转换成字符串
                foreach (var item in mdbyte)
                {
                    sb.Append(item.ToString("x2"));//将哈希值中字节数组逐个转成16进制
                }
                return sb.ToString();
            }

     PS:得到文件的MD5值:

    private static string GetMD5HashFromFile(string fileName) {
             try {
                FileStream file = new FileStream(fileName, FileMode.Open);
                System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
                byte[] retVal = md5.ComputeHash(file);
                file.Close();
    
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < retVal.Length; i++) {
                   sb.Append(retVal[i].ToString("x2"));
                }
                return sb.ToString();
             } catch (Exception ex) {
                throw new Exception("GetMD5HashFromFile() fail,error:" + ex.Message);
             }
          }
    

      另一种常用的加密算法:SHA1

            public string CreateSha1(string str)
            {
                SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
                byte[] utf8Byte = Encoding.UTF8.GetBytes(str);
                byte[] hashByte = sha1.ComputeHash(utf8Byte);
                //这个方法可以一步实现sha1加密算法  但是提示说是一种过时的方法  在asp.net4.5中已经过时  
                //string checkSignatureStr = FormsAuthentication.HashPasswordForStoringInConfigFile(str,
                //   System.Web.Configuration.FormsAuthPasswordFormat.SHA1.ToString());
                string resultStr = BitConverter.ToString(hashByte);
                resultStr=resultStr.Replace("-","").ToLower();
                return resultStr;
            }
    
  • 相关阅读:
    js 多媒体文件(图片,表格 等) 下载方法
    CentOS7 + asp.net core 3.1 + mysql 8 配置备忘
    项目管理平台参考设计
    golang 使用rate实现redis qps令牌桶限流
    golang执行命令实时输出(协程通过channel更新数据到主进程)
    go-chart go后端生成图表base64
    go-chart go后端生成图表base64
    golang OOM分析
    Golang xorm time自定义解析
    python 多线程
  • 原文地址:https://www.cnblogs.com/huangshuqiang/p/6254023.html
Copyright © 2011-2022 走看看