`

HMAC_SHA1加密

    博客分类:
  • C#
 
阅读更多
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
分享到:
评论

相关推荐

    asp版hmac_sha1加密方式,真正和PHP的hash_hmac加密结果完全一样。支持中文utf-8编码

    ASP HMAC_SHA1 加密方式详解 在网络安全领域,数据的完整性与安全性至关重要。为了保护数据不被篡改,开发者通常会使用哈希消息认证码(HMAC)进行签名加密。HMAC 是一种基于密钥的哈希函数,它可以验证数据的完整...

    C++ HMAC_SHA1加密

    这个压缩包文件“C++_HMAC_SHA1”很可能包含了C++编写的HMAC_SHA1加密库,以及相关的文档资料,可以帮助开发者理解和使用这一安全技术。 HMAC_SHA1的工作原理是将一个密钥和消息一起通过SHA1哈希函数进行运算。它...

    asp版hmac_sha1加密(亲测可用).rar

    在"sha1_demo.asp"文件中,可能包含了以下关键组件: 1. 密钥(Key):用于HMAC计算的私有字符串,通常是保密的。 2. 消息(Message):需要进行加密保护的数据。 3. HMAC计算过程:使用SHA1函数和密钥对消息进行...

    易语言Base64_hmac_sha1加密算法

    易语言Base64_hmac_sha1加密算法源码,Base64_hmac_sha1加密算法,Base64_hmac_sha1,safe_add,bit_rol,sha1_kt,sha1_ft,rstr2b64,rstr2binb,binb_sha1,binb2rstr,rstr_hmac_sha1,逻辑右移

    asp hmac_sha1加密算法完整源码_经测试无错版.rar

    asp hmac_sha1加密算法完整源码_经测试无错版asp hmac_sha1加密算法完整源码_经测试无错版asp hmac_sha1加密算法完整源码_经测试无错版asp hmac_sha1加密算法完整源码_经测试无错版asp hmac_sha1加密算法完整源码_经...

    asp Hmac_SHA256 asp hash_SHA256加密计算 asp钉钉签名计算

    asp Hmac_SHA256加密计算,是asp调用JavaScript,钉钉签名计算用到 示例:内容=a,密码=a,哈希值:Ps9TiOIg2p4PkZSF3rZ22L7jrsBGp3k1O0Y0GFEe5iI=

    asp版hmac_sha1加密(亲测可用).zip

    该压缩包中的"sha1_demo.asp"文件很可能是ASP实现的HMAC-SHA1加密示例代码,展示了如何在ASP中创建和验证HMAC-SHA1签名。它可能包含以下关键步骤: 1. 导入需要的库:ASP中可能需要引用一些辅助函数或组件来实现SHA...

    HMAC SHA1加密 C语言源码

    - `void hmac_sha1_init(struct hmac_sha1_ctx *ctx, const uint8_t *key, size_t key_len)`:初始化函数的声明。 - `void hmac_sha1_update(struct hmac_sha1_ctx *ctx, const uint8_t *data, size_t len)`:更新...

    asp_hmac_sha256加密支持中文utf-8编码

    ASP HMAC-SHA256 加密是在ASP (Active Server Pages) 环境下实现的一种安全的哈希消息认证码(HMAC)算法,利用SHA256算法进行加盐加密。这种加密方法广泛应用于数据验证、签名以及密码存储等领域,确保了数据的完整...

    asp hmac_sha1加密算法完整源码_完善版.rar

    标题中的"asp hmac_sha1加密算法完整源码_完善版.rar"表明这是一个使用ASP(Active Server Pages)语言实现的HMAC-SHA1加密算法的源代码包。ASP是微软开发的一种服务器端脚本环境,用于创建动态交互式网页。这个源码...

    Base64_hmac_sha1加密算法.rar

    Base64 HMAC-SHA1加密算法是一种在网络通信中常见的安全编码技术,用于保护数据的完整性和安全性。在本文中,我们将深入探讨Base64、HMAC(哈希消息认证码)以及SHA1(安全散列算法1)的概念,并结合易语言的实现...

    易语言Base64_hmac_sha1加密算法源码.zip

    易语言Base64_HMAC_SHA1加密算法源码是一个针对易语言编程环境设计的安全编码工具。这个压缩包包含了实现Base64编码与HMAC-SHA1哈希消息认证码(Hash-based Message Authentication Code)的源代码,对于学习和使用...

    iOS swift 写的HMAC_SHA1和MD5加密

    var hashLength = Int(CC_SHA1_DIGEST_LENGTH) let hashData = Data(count: hashLength) let hashStatus = CCCrypt(CCOperation.kCCEncrypt, CCAlgorithm(kCCHmacAlgSHA1), CCOptions(kCCHmacOptionNone), key...

    SHA256 摘要算法 、HMAC_SHA256 散列/哈希算法 C语言实现,适应于各种嵌入式单片机

    void sha256_get(uint8_t hash[32], const uint8_t *message, int length);/*此函数用于对消息计算摘要值,输入任意大小消息,输出32字节摘要值*/ .../*此函数用于HMAC_SHA256加密,秘钥任意长度,输出32字节*/

    delphi http 或 sha256/hmac_sha256使用的dll(libeay32/ssleay32)

    在标题和描述中提到的`http`涉及网络通信,而`SHA256`和`HMAC_SHA256`则关乎数据的加密和完整性验证。`DLL`(动态链接库)是Windows操作系统中的一个重要概念,它允许多个程序共享同一段代码和资源。这里提到的`...

    易语言-易语言Base64_hmac_sha1加密算法

    在易语言中实现Base64_HMAC_SHA1加密算法,是将Base64编码与HMAC-SHA1哈希算法结合,以提供数据的完整性验证和安全加密。 Base64是一种编码方式,它将任意二进制数据转换成可打印的ASCII字符,通常用于在网络上传输...

    易语言Base64_hmac_sha1加密算法源码-易语言

    易语言Base64_hmac_sha1加密算法源码 最近在研究 阿里云的 需要用到 Base64_hmac_sha1 算法加密,找了好多,都是JS版的 刚从别的地方找到个 纯算法的 只用到核心库,就实现的代码, 速度也比JS的快很多,特整理了下...

    易语言HMAC_SHA256算法源码

    易语言写的HMAC_SHA1和HMAC_SHA256算法。使用了脚本对象

    HMac_SHA512哈希算法

    HMAC(Hash-based Message Authentication Code)是基于哈希函数的安全认证协议,而SHA-512是一种强大的哈希函数,属于SHA-2家族。HMAC_SHA512结合了这两者,提供了一种用于验证消息完整性和来源安全性的方法。在...

    hmac_sha1.tar.gz_SHA1_hmac sha1.c_hmac-sha1_hmac-sha1 c_hmac代码C语

    这个C语言的实现可能包括了这些步骤的函数封装,如`hmac_sha1_init()`用于初始化密钥,`hmac_sha1_update()`用于处理消息,以及`hmac_sha1_final()`用于生成最后的HMAC值。测试脚本可能会提供一些测试用例,以验证这...

Global site tag (gtag.js) - Google Analytics