公司网站引导页,团队拓展口号,wordpress模板+保险,wordpress 幻灯片主题设置数据摘要算法是密码学算法中非常重要的一个分支#xff0c;它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能#xff0c;由于其不可逆性#xff0c;有时候会被用做敏感信息的加密。
数据摘要算法也被称为哈希#xff08;Hash#xff09;算法、散列算法…数据摘要算法是密码学算法中非常重要的一个分支它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能由于其不可逆性有时候会被用做敏感信息的加密。
数据摘要算法也被称为哈希Hash算法、散列算法
特点 消息摘要算法杂凑算法哈希算法的主要特征是加密过程不需要密钥并且经过加密的数据无法被解密只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。
1.无论输入的消息有多长计算出来的消息摘要的长度总是固定的 2.消息摘要看起来是“随机的”一般随机都是伪随机 3.一般地只要输入的消息不同对其进行摘要以后产生的摘要消息也必不相同潜在意思是可以相同但相同的输入必会产生相同的输出 4.消息摘要函数是无陷门的单向函数即只能进行正向的信息摘要而无法从摘要中恢复出任何的消息甚至根本就找不到任何与原信息相关的信息 5.好的摘要算法没有人能从中找到“碰撞”但是“碰撞”是肯定存在的。 应用 一般地把对一个信息的摘要称为该消息的指纹或数字签名信息摘要算法的主要用途是信息完整性校验就好比我们买菜肯定都希望称一下买的菜分量是否足够。
在计算机领域我们也希望能知道别人传递的消息是否完整是否被篡改了这里就用到信息摘要算法。
信息摘要算法常常被用来保证信息的完整性防止信息在传输过程中被篡改无法确定信息是否被监听也就常说的验签。
举例我们传递password时需要将password加salt后做信息摘要接收方核对摘要相同则接受处理不相同则认为本次的password传输过程中被篡改拒绝本次请求。
#算法家族 信息摘要算法来源于CRC算法最初CRC算法是用来验证数据完整性的即我们常见的奇偶校验码、循环冗余校验在CRC基础上发展处了MD和SHA量大算法家族CRC比这些算法都要早MD算法比SHA算法早SHA算法是对MD算法的改进。再后来则发展出了可以带有密码的信息摘要算法-MAC算法。
信息摘要算法包括三大类MD、SHA和MAC算法MD的分类是按照版本规定的SHA则是按照适用的消息长度分类的
MD算法 Message Digest Algorithm 目前主流的是MD5算法为第五版算法之前有MD2、MD3、MD4算法。 SHA算法安全哈希算法Secure Hash Algorithm主要适用于数字签名标准Digital Signature Standard DSS里面定义的数字签名算法Digital Signature Algorithm DSA MAC算法带有密码信息的信息摘要算法是对MD和SHA算法的演变和改进包括HmacMD2、HmacMD4、HmacMD5、HmacSHA-256等。 下表是主要的信息摘要算法的特点比较关于MD5、SHA1等算法的具体过程非安全、算法专业人士可不学习如有需要可以参考下面的blog
http://blog.csdn.net/lonelyroamer/article/details/7652320
算法供应商 美国对于算法出口有着严格的限制Sun公司限于美国算法出口法律的限制和本身的一些原因并有提供特别全面的算法支持不过Sun提供SPI方式用来可以透明的接入其他算法供应商也可以直接使用其他算法供应商的jar包工具。
在Java中主要的算法供应商有三类Sun本身的算法包含在JDK中大部分在JDK 1.6之后Bouncy Castle和Commons Codec。
Sun算法sun的算法也使用Java SPI机制提供通过Securty.addProvider()可以注册算法实现 Bouncy Castle开源加密组件提供了很多JDK 6不支持的算法。 Commons Codec也是开源组件是Apache的项目Apache的Commons项目应该广泛简单易用目标是提高Java Api的易用性。 算法选择 CRC算法不属于加密场景比较古老但是在数据压缩领域被广泛使用作为完整性校验 MD算法中MD5算法最流行也是目前最流行的信息摘要算法是大部分系统的首先虽然MD算法破解门槛越来越低但是一般应用足够了 SHA算法枝繁叶茂比MD算法安全性高尝尝用在一些安全性系数要求较高的环境目前也逐渐替代MD5算法用在注册、登录模块在数字证书的签名算法中SHA算法更广泛。 MAC算法是带有密钥信息的信息摘要算法吸收了MD和SHA的精髓安全程度更高。 ———————————————— 版权声明本文为CSDN博主「赛小文」的原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/HackerSaillen/article/details/64906881