openssl中有没有HMAC-SHA1,CBC-MAC算法

 我来答
lk...q@163.com
2017-09-30 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:149
采纳率:33%
帮助的人:61.5万
展开全部
1、HMACSHA1概念
HMACSHA1
SHA1 哈希函数构造种键控哈希算用作 HMAC(基于哈希消息验证代码) HMAC
进程密钥与消息数据混合使用哈希函数混合结进行哈希计算所哈希值与该密钥混合再应用哈希函数输哈希值度 160
位转换指定位数
面微软标准定义我看没太明白作用句理解:确认请求URL或者参数否存篡改QQ
签名例:发送(自)参数等进行HMAC算计算哈希值(即签名值)与请求参数同提交至接收(QQ端)接收再参数等值
进行HMAC算计算哈希值与传递哈希值进行核验证若说明请求确、验证通进行步工作若返错误
(面说够详细吧理解留言给我)

2、QQ OAuth 1.0用哈希算

///

/// HMACSHA1算加密并返ToBase64String

///

/// 签名参数字符串

/// 密钥参数

/// 返签名值(即哈希值)

public static string ToBase64hmac(string strText, string strKey)

{

HMACSHA1 myHMACSHA1 = new HMACSHA1(Encoding.UTF8.GetBytes(strKey));

byte[] byteText = myHMACSHA1.ComputeHash(Encoding.UTF8.GetBytes(strText));

return System.Convert.ToBase64String(byteText);

}
或者写原理:

public static string HMACSHA1Text(string EncryptText, string EncryptKey)
{
//HMACSHA1加密
string message;
string key;
message = EncryptText;
key = EncryptKey;

System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] keyByte = encoding.GetBytes(key);
HMACSHA1 hmacsha1 = new HMACSHA1(keyByte);
byte[] messageBytes = encoding.GetBytes(message);
byte[] hashmessage = hmacsha1.ComputeHash(messageBytes);

return ByteToString(hashmessage);
}

前面都注释参数含义再说明COPY使用

注明:页面请引用
using System.Security.Cryptography;

3、介绍另外种HMACSHA1算写

public static string HMACSHA1Text(string EncryptText, string EncryptKey)

{
//HMACSHA1加密
HMACSHA1 hmacsha1 = new HMACSHA1();
hmacsha1.Key = System.Text.Encoding.UTF8.GetBytes(EncryptKey);

byte[] dataBuffer = System.Text.Encoding.UTF8.GetBytes(EncryptText);
byte[] hashBytes = hmacsha1.ComputeHash(dataBuffer);
return Convert.ToBase64String(hashBytes);
}
/
孝渺何永怡
2019-10-24 · TA获得超过3532个赞
知道大有可为答主
回答量:3152
采纳率:35%
帮助的人:202万
展开全部
openssl支持HMAC-SHA1
命令openssl
dgst
-sha1
-hmac
'key'
openssl不支持CBC-MAC,可能因为简单XOR串联的安全性太差
openssl支持CMAC(Cipher
MAC)方法。
通常都是HMAC
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式