MD5是一种不可逆的加密算法,目前是最牢靠的加密算法之一,尚没有能够逆运算的程序被开发出来,它对应任何字符串都可以加密成一段唯一的固定长度的代码。

SHA1是由NISTNSA设计为同DSA一起使用的,它对长度小于264的输入,产生长度为160bit的散列值,因此抗穷举(brute-force)性更好。

HMAC_SHA1

一直以为HMAC_SHA1和SHA1没有任何区别,直到现在才发现它俩不是完全一样的。
HMAC的百度百科解释:
“HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。”
可以看出,HMAC是需要一个密钥的。所以,HMAC_SHA1也是需要一个密钥的,而SHA1不需要。
/*** 生成userkey* @param $userId* @return string*/public static function createUserKey($userId) {//cookie算法使用先hmac-sha1,再base64$curTime = time();$strToSign = $userId . ',' . $curTime;//hmac-sha1$secretkey = config('constants.AUTH_SECRET_KEY');//$userkey = base64_encode(hash_hmac("sha1", $strToSign, $secretkey));return $userkey;}

参考:https://www.cnblogs.com/fireway/p/5860622.html

转载于:https://www.cnblogs.com/tingfengqieyu/p/11463225.html

MD5 SHA1 HMAC HMAC_SHA1区别相关推荐

  1. MD5 SHA1 HMAC HMAC_SHA1区别(转载网上大牛)个人备忘和加注了

    MD5 SHA1 HMAC HMAC_SHA1区别 什么是MD5,什么是SHA1,如何校验这些Hash.还有拿单个apk文件的MD5,SHA1讯问是不是原版的问题,在这里,让我们先来了解一些基本知识, ...

  2. 加密算法(DES,AES,RSA,ECC,MD5,SHA1)简介

    加密算法(DES,AES,RSA,MD5,SHA1)简介 一.对称性加密算法 二.非对称算法 三.散列算法 四.算法举例 1.对称性加密算法有:AES.DES.3DES 1.1.DES(Data En ...

  3. 加密算法 AES MD5 SHA1

    2019独角兽企业重金招聘Python工程师标准>>> 加密算法通常分为对称性加密算法和非对称性加密算法,对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的 ...

  4. 什么是SHA系列算法,SHA-1和MD5算法有什么区别

    有些朋友在研究微信支付接口的时候,发现它们不仅支持MD5摘要的验签,还支持SHA-256摘要.那么这个SHA是什么呢?别着急,本文将和大家说一说什么是SHA系列算法,SHA这么多版本之间有什么不同,以 ...

  5. md5和SHA-1算法的区别,哪种比较安全

    MD5和SHA-1在计算机安全领域使用比较广泛的密码散列函数,也是数字签名和消息认证中普遍使用的两种算法.那么MD5和SHA-1算法有什么区别呢?很多朋友不是很了解这两种算法的区别,下面本文将针对这个 ...

  6. MD5 SHA1 SHA256 SHA512 SHA1WithRSA RSA 的区别

    转自:http://www.cnblogs.com/cxygg/p/9468653.html https://blog.csdn.net/hengshujiyi/article/details/459 ...

  7. MD5 SHA1 哈希 签名 碰撞 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. linux验证文件的完整性,linux中校验文件完整性(md5,sha1)(示例代码)

    经常在Linux下下载软件的人,一定会有一个良好的习惯:校验文件的hash,以确定文件的完整性甚至是安全性.我配置环境的时候也恰好用到了,笔者的是一个lubuntu的机子.这里我大致做个记录.(不了解 ...

  9. openssl算法 —— 利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密

    openssl 加密字符串的方法: 一.利用openssl命令进行BASE64编码解码(base64 encode/decode): 1. BASE64编码命令 对字符串'abc'进行base64编码 ...

最新文章

  1. div 设置 hover时边框颜色_CSS 奇思妙想边框动画
  2. Redis 快速入门
  3. vb.net详解MDI窗体操作方法
  4. [原创]K8 cping 3.0大型内网渗透扫描工具
  5. Xshell调节字体大小和样式
  6. ios12完美深色模式插件_苹果针对老机型推送iOS12.4.6iOS14代码泄漏iPhone12:无刘海真全面屏...
  7. 不想从零开始做分析?Smartbi Eagle应用商店,一招帮你搞定!
  8. c语言城市交通灯优化,城市智能交通灯系毕业设计论文.doc
  9. 微信任意用户密码修改漏洞分析
  10. Spoon Kettle 输入之 excel 输入详解(Microsoft Excel input)
  11. 学习dicom没什么窍门
  12. U盘修复后文件丢失怎么办?U盘数据丢失怎么恢复
  13. ipsec 加密流程(一):ipsec策略匹配
  14. VSFTP一键部署脚本
  15. spring boot 报错:extShutdownHook ...was destroying!
  16. 员工调职其他部门 公司百科帮大忙
  17. 南理工计算机科学与工程学院,周俊龙 - 南京理工大学 - 计算机科学与工程学院...
  18. 牛刀:中国房价的买点还没有…
  19. 歌咏比赛java代码_JavaEE基础知识
  20. 什么灯适合学生在暑假使用?照度国AA级的舒适护眼灯

热门文章

  1. 常用的sql语句用法
  2. 完成一个YUV文件播放器
  3. fullcalendar next 不变化_让不懂编程的人爱上iPhone开发(2017秋iOS11+Swift4+Xcode9版)-第3篇...
  4. 【Kafka】Kafka 如果 动态 不停止的情况下 修改 消费组 offset
  5. 【Flink】Flink 没有keyBy 某个 subTask 没有数据
  6. 95-860-040-源码-定时器-SystemProcessingTimeService简介
  7. 【java】java Parallel GC 该怎么看?
  8. 【ElasticSearch】Es 源码之 PageCacheRecycler 源码解读
  9. 【Kibana】es 报错 all shards failed: [search_phase_execution_exception] all shards failed
  10. 【es】 check-rollover-ready read index [alinas-lcc] is not the wtiter index for alians [index-xx]