向左移动 个空格 我们得到数字 它实际上只是十六进制的 因为它是右数第三位 所以这次我们将它乘以 的 次方 我们在每次操作后继续向左移动 个空格 执行相同的计算 但每次将指数 上标中的数字 增加 旦我们对每个数字执行了操作 我们就将所有结果加在 起 得. N到十六进制数的十进制等价物 为了节省时间 我们将使用十六进制到十进制转换器来为我们完成这项工作 当我们输入十六进制哈希时 我们发现 是以下的十六进. M制版本 哈希值通常以十六进制形式编写的原因超出了本文的范围 但至少现在您明白这些字母实际上只是代表不。
如果您回头参考 算法的初始化向量部分
同的计数系统 位的 只有 个字符长 因为每个字符占 位信息 除以 等于 换句话说 每个字节的信息 个字节相当于 位 可以表示两个十六进制人物 算法 哈希函数如何将 它们是确定性的 这样的短语变成 它如何接 希腊电话号码数据 受任意长度的输入 并始终输出 位散列 它如何确保任何其他输入都不可能具有相同的输出 不再这样做 因为它不安全 但底层机制仍然相关 如果您想深入了解 如何将输入转换为固定的 位哈希的每 步 请转到我们的 算法 含示例 文章 它深入研究了正在发生的事情的机制以及将输入更改为散列所涉及的许多过程 这 切都发生在瞬。
我们会得到 如您所见 虽然这个左移
间 但在 哈希函数的幕后有很多数学运算 在本节中 我们将避免深入细节 而是介绍构成其作为加密哈希算法的 的各个方面 使用单向压缩函数 这是 种与您可能更熟悉的数据压缩算法 例如 用于缩小视频和音频文件的压缩算法 无关的加密函数 这些单向压缩函数采用两个固定长度的输入 并将它们转换为相同固定长度的单个输出 例如 两个 位输入将导致 个 位输出 如果您输入并始终输出固 DM数据库 定大小的散列 单向压缩函数无法处理可变输入 因此 通过填充其数据来解决这 问题 以确保它始终以 位数据块。