zoukankan      html  css  js  c++  java
  • C# HMAC_SHA1加密

    hmacsha1在很多签名计算中都很常用了,这里对两种可能返回的字符串类型做了分类 
    一种是直接返回字符串,一种是baset64后返回 
    需要看第三方对接文档中是否有特别说明,调试时如果报错,要比对串的内容看对方是否做了base64

    #region HMACSHA1加密  将二进制数据直接转为字符串返回
            /// <summary>
            /// HMACSHA1加密
            /// </summary>
            /// <param name="text">要加密的原串</param>
            ///<param name="key">私钥</param>
            /// <returns></returns>
            public static string HMACSHA1Text(string text,string key)
            {
                //HMACSHA1加密
                HMACSHA1 hmacsha1 = new HMACSHA1();
                hmacsha1.Key = System.Text.Encoding.UTF8.GetBytes(key);
    
                byte[] dataBuffer = System.Text.Encoding.UTF8.GetBytes(text);
                byte[] hashBytes = hmacsha1.ComputeHash(dataBuffer);
    
                var enText = new StringBuilder();
                foreach (byte iByte in hashBytes)
                {
                    enText.AppendFormat("{0:x2}", iByte);
                }
                return enText.ToString();
                
            }
            #endregion
    #region HMACSHA1加密  对二进制数据转Base64后再返回
            /// <summary>
            /// HMACSHA1加密
            /// </summary>
            /// <param name="text">要加密的原串</param>
            ///<param name="key">私钥</param>
            /// <returns></returns>
            public static string HMACSHA1Text(string text,string key)
            {
                //HMACSHA1加密
                HMACSHA1 hmacsha1 = new HMACSHA1();
                hmacsha1.Key = System.Text.Encoding.UTF8.GetBytes(key);
    
                byte[] dataBuffer = System.Text.Encoding.UTF8.GetBytes(text);
                byte[] hashBytes = hmacsha1.ComputeHash(dataBuffer);
                
                return Convert.ToBase64String(hashBytes);
                
            }
            #endregion
  • 相关阅读:
    shell 脚本判断linux 的发行版本
    notepad++ 正则学习记录
    360 加固分析
    Android的静默安装
    Linux下调整根目录的空间大小
    linux 隐藏权限
    i针对网段开放端口 (命令行设置)
    python 删除文件/夹
    字符串截取
    echo 不换行
  • 原文地址:https://www.cnblogs.com/yhnet/p/12448637.html
Copyright © 2011-2022 走看看