java加密与解密的艺术(四)——散列函数(哈希函数)

(写在前面的话:之前负责了一个关于数据安全接入的模块,涉及到了数据的加密解密,文件校验,下载落地,入库等。在wannercry肆虐之际,更深刻体会到数据安全的重要意义。鉴于此,不才受邀在今天给团队成员统一普及了一下数据安全方面的概念,重点给Java同事分享了一下基于Java的数据加密解密实现和梁栋的《java加密与解密的艺术》。有感于这次的wannercry风暴,特将今天的培训整理出来和大家分享一下,诚邀勘误指正。 培训资料:参考了梁栋的《java加密与解密的艺术》,大家也可以自行买这本书阅读,应该感谢梁栋为我们提供了一本好书。)


一,散列函数


           散列函数,又称哈希函数,消息摘要函数,单向函数。散列函数不存在秘钥的概念,具有单向性(密文无法解密成明文),即不可逆性。应用场景为消息摘要认证技术。


散列函数的特点:

  • 消息长度不受限制
  • 计算复杂度低(对于给定的消息,很容易得到散列结果
  • 单向性(散列值的不可逆性)
  • 抗弱碰撞性(对于已知的消息及其散列值,无法找到另一条消息计算出和当前消息相同的散列值)
  • 抗强碰撞性(任意两个不同的消息的散列值必定不同)


二、经典散列函数算法


  • MD算法家族
  • SHA算法家族
  • MAC算法家族




猜你喜欢

转载自blog.csdn.net/stefan_xiepj/article/details/72582003
今日推荐