哈希算法

  • 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进制数字

你可能感兴趣的:(哈希算法)