在使用本博客提供的学习笔记及相关内容时,请注意以下免责声明:
信息准确性:本博客的内容是基于作者的个人理解和经验,尽力确保信息的准确性和时效性,但不保证所有信息都完全正确或最新。
非专业建议:博客中的内容仅供参考,不能替代专业人士的意见和建议。在做出任何重要决定之前,请咨询相关领域的专业人士。
个人责任:使用本博客内容的风险由用户自行承担。作者不对因使用本博客内容而导致的任何直接或间接损失承担责任。
版权声明:本博客中的所有内容均为作者原创,如需转载,请注明出处。同时,若有引用他人作品,也将尽力标明出处,如有侵权请及时联系作者。
链接免责:博客中可能包含外部链接,作者对这些链接所指向的内容不负责任,访问此类链接需谨慎。
感谢您的理解与支持!希望本博客能够为您的学习提供帮助。
哈希算法 Hash
■ HASH 函数,又称为杂凑函数、散列函数,它能够将任意长度的信息转换成固定长度的哈希值(数字 摘要),并且任意不同消息或文件所生成的哈希值是不一样的。
■h 表示hash函数,则h满足下列条件:
· (1)h 的输入可以是任意长度的消息或文件M;
· (2)h 的输出的长度是固定的;
· (3)给定h和M, 计算h(M) 是容易的;
· (4)给定h的描述,找两个不同的消息M1 和M2, 使 得h(M1)=h(M2) 是计算上不可行的。
■ 哈希函数特性:不可逆性(单向)、无碰撞性、雪崩效应。
■ 常见的Hash 算法有:
· (1)MD5 算法:以512位数据块为单位来处理输入,产生128 位的信息摘要。常用于文件校验。
· (2)SHA 算法:以512位数据块为单位来处理输入,产生160 位的哈希值,具有比MD5 更强的安全性。
· (3)SM3 国产算法:消息分组长度为512比特,输出256 位摘要。
HASH应用用户身份认证
■增加一个随机数R做哈希 MAC=Hash (密码+R)
■需要双方预先知道这个R
■ MAC:消除中间人攻击,源认证+完整性校验