SHA-1 的测试和训练(Python 版本)
发布时间
阅读量:
阅读量
SHA-1算法能够将长度不超过2的64次方的任意明文信息转换为固定长度为160位的哈希值。为了更清晰地阐述SHA-1的具体运作方式,此处将其操作过程划分为三个部分进行说明。
一、消息填充策略分析
【对原始数据进行补全处理,使其长度达到512位或其整数倍,这是由于SHA-1算法采用分组处理方式,每个处理单元为512位。本文以单个512位的数据组为例,暂不考虑较长数据的情况。
具体填充步骤如下:
-
在原始数据末尾首先添加一个字节,其二进制表示为1000 0000
-
随后持续添加零字节,但需预留出64位空间
-
最后64位则用于存储原始数据的长度信息
以“abc”作为示例进行说明:其中‘a’对应的ASCII码为97,‘b’为98,‘c’为99。因此初始的二进制序列为:
01100001 01100010 01100011
按照第一步操作,在末尾添加一个字节的二进制值为1000 0000后,序列变为:
01100001 01100012 该行内容因格式问题显示异常,请重新检查原文内容以确保准确性。
01100001 01100010 01100011 10000000
00000000 00000000 00000000 00000000
00000000 00000000 00
全部评论 (0)
还没有任何评论哟~
