3.5. 通过哈希算法变换数据

未匹配的标注

通过哈希算法变换数据

哈希算法是数据变换的另一种方法,但它与加密或解密有所不同。哈希操作的目标是验证期望加以该层次保护的信总的完整性。实际上,哈希操作不提供任何机密性功能,这意味着任何经过哈希算法处理的信息只能提供一种检查信息完整性的手段。该信息仍然会保留在使用哈希算法处理之前的原始格式。

哈希是一个单向过程,即通过哈希算法处理的信息仍然保持原始格式,但该算法会产生一个固定长度的宇符串,对于每个唯一输入,输出字符串都是唯一的。虽然每个输入的宇符序列会有很大差别,但所产生的哈希值或消息摘要的实际长度将始终相同。基于这些算法所设计的哈希消息摘要方式,可认为它们是不可能或数学上无法逆向的。

下面用一组简单例子介绍哈希过程。为了说明哈希操作的过程,将使用password一词开始,然后向其后添加一个字符,以体现输出的变化。在下面的例子中,原始输入和输出分居于等号左右两侧。

Password = 5F4DCC3BSAA765D61D8327DEB882CF99
Password1 = 7C6A180B36896A0A8C02787EEAFBOE4C
Password2 = 6CB75F652A9B52798EB6CF2201057C73
Password3 = 819B0643D6B89DC9B579FDFC9094F28E
Password4 = 34CC93ECEOBA9E3F6F23 5D4AF979B16C
Password5 = DBOEDDO4AAAC4506F7EDAB03AC855D56

由这些例子可见,输入宇符串的每个变化(甚至只是单个字符的改变)都会导致生成的哈希值发生显著变化。在实践中,这种变化只会告知查看者信息发生了更改,但不会告知何处发生了更改,从而提示进行更细致的原始输入检查或其他操作。哈希值是将信息压缩为固定长度值的结果。单向哈希函数有时也称为一次性密码密钥或指纹。

常用哈希算法
下面是目前常用的两种哈希算法。

Message Digest 5(MD5): MD5在软件应用程序、数宇签名和其他环境中仍然非常流行。在许多场合,MD5己被SHA2替代。

安全哈希算法(Secure Hash Algorithm, SHA)系列。

• SHA-0: 曾在SHA-1之前使用,现己被SHA-1替代。
• SHA-1:另一个更为常用的哈希算法,该算法己被破解。
• SHA-2:设计用于SHA-1的升级。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~