哈希算法

定义

Hash(哈希或散列)算法

能将任意长度的二进制明文串映射为较短的(通常是固定长度的)二进制串(Hash值),并且不同的明文很难映射为相同的Hash值。


优秀的Hash算法将能实现如下功能:

·正向快速:

给定明文和Hash算法,在有限时间和有限资源内能计算得到Hash值;

·逆向困难:

给定(若干)Hash值,在有限时间内很难(基本不可能)逆推出明文;

·输入敏感:

原始输入信息发生任何改变,新产生的Hash值都应该出现很大不同;

·冲突避免:

很难找到两段内容不同的明文,使得它们的Hash值一致(发生碰撞)。


目前,MD5和SHA1已经被破解,一般推荐至少使用SHA2-256或更安全的算法。

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