哈希算法
2019-01-20 本文已影响0人
江南_烟雨
- Hash算法是现代密码体系中的一个重要组成部分,组要用于信息安全领域中加密算法
- Hash算法是一种只能加密不能解密的算法,可以将任意长度的信息转成杂乱的固定长度的字符串,叫做Hash值,又称
数字摘要
、“消息摘要”(Message Digest)或杂凑字符串
- 也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系。
- 由于非对称算法的运算速度较慢,所以在数字签名协议中,哈希函数扮演了一个重要的角色而被用于数字签名。
- 著名的hash算法有MD5和SHA-1(Secure Hash Algorithm,
安全Hash算法
),是应用最广泛的Hash算法,而他们都是以MD4为基础设计的。由于MD5及SHA-1的安全受到质疑,比特币系统中使用SHA-256. - 哈希算法具有以下2个特点:
1.输入值只要改变一点,输出的hash值会天差地别。因此只有完全一样的输入值才能达到完全一样的输出值
2.输入值和输出值之间没有规律,所以不能通过输出值反推出输入值。
二进制1个字节8位,16进制1个字节4位
各种hash算法后的长度
1.md5('1'), 128位长度。 32位16进制数字
2.PIPEMD-160('1'), 160位长度。 40位16进制数字
3.SHA('1'), 160位长度。 40位16进制数字
4.SHA256('1'), 256位长度。 64位16进制数字
5.SHA512('1'), 512位长度。 128位16进制数字