SHA-256 填充

2023-12-24

为了计算 SHA-256 哈希值,我需要填充我的消息。我使用以下描述: (取自http://csrc.nist.gov/groups/STM/cavp/documents/shs/sha256-384-512.pdf http://csrc.nist.gov/groups/STM/cavp/documents/shs/sha256-384-512.pdf)

按照通常的方式填充消息:假设消息的长度M, 以位为单位,是l。将位“1”附加到消息末尾,然后 k 个零位,其中 k 是最小非负解 等式 l+1+k 448 mod 512。在此附加 64 位块,即 等于二进制写的数l

但是,如果消息长度(以位为单位)小于 512 位块的 64 位……即没有空间容纳上面提到的最后 64 位块,该怎么办?或者64位长度和“1”位?

我也查看了维基百科,但这并没有进一步阐明这个主题。谷歌搜索也没有太多成果,希望得到任何建议:)

Thanks


如果您的消息仅缺少一个完整块(短于 65 位),则您将需要输出比输入长一个块。在最坏的情况下,如果您的消息正好比完整块少 64 位,您将添加一个1然后5110s 在“数字”位之前,但这就是填充的工作原理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SHA-256 填充 的相关文章

  • 使用FFT算法计算

    给定在平面上的点 1 0 2 0 n 0 上发现的一组 n 个粒子电荷载流子 在 i 0 点发现的粒子电荷记为 Qi 作用在粒子上的力由以下公式给出 C is a Coulomb s constant 给出一个算法来计算 Fi 对于总复杂度
  • 从日志文件中获取前 100 个 URL

    我的一位朋友在接受采访时被问到以下问题 谁能告诉我如何解决它 我们有一个相当大的日志文件 大约 5GB 日志文件的每一行都包含一个用户在我们网站上访问过的 URL 我们想要找出用户访问最多的 100 个 URL 怎么做 如果我们有超过 10
  • 如何在给定目标索引数组的情况下对数组进行就地排序?

    你如何对给定的数组进行排序arr in place给定目标索引数组ind 例如 var arr A B C D E F var ind 4 0 5 2 1 3 rearrange arr ind console log arr gt B E
  • 如何求解:T(n) = T(n - 1) + n

    我已经解决了以下问题 T n T n 1 n O n 2 现在 当我解决这个问题时 我发现界限非常松散 我是否做错了什么 或者只是这样 您还需要一个递归关系的基本情况 T 1 c T n T n 1 n 为了解决这个问题 您可以首先猜测一个
  • 如何从一组重叠的圆计算多边形集?

    这个问题是一些计算细节的扩展这个问题 https stackoverflow com questions 1667310 combined area of overlapping circles 假设有一组 可能重叠的 圆 并且希望计算这组
  • 找到一系列间隔的最有效分组

    我有一个应用程序 其中有一系列不重叠的固定宽度间隔 每个间隔都有一个给定的键 每个间隔具有相同的宽度 并且可以存在连续的间隔 本质上 我想以最小化单独间隔的数量的方式对间隔和键进行分组 这可以通过合并具有相同键的连续间隔或查找匹配间隔并将它
  • 解释一下从 N 个给定集合中的每一个中给出第 K 个最大数字的示例?

    今天我尝试解决一个Facebook 编程挑战赛 https facebook interviewstreet com recruit challenges 我遇到的挑战是 酒吧问题 可以找到here https github com alo
  • 由周期表元素形成的最大单词的算法

    我想为以下问题场景编写一个算法 根据元素周期表元素的名称 找到可以组成的最大单词 符号如Na Ne等应被视为单个元素 这是在一家知名公司的求职面试中被问到的 有人可以帮我解决这个问题吗 我认为更好的方法是检查字典中的每个单词 看看是否可以从
  • 0-1背包算法

    以下 0 1 背包问题是否可解 浮动 正值和 浮动 权重 可以是正数或负数 背包的 浮动 容量 gt 0 我平均有 这是一个相对简单的二进制程序 我建议用蛮力进行修剪 如果任何时候你超过了允许的重量 你不需要尝试其他物品的组合 你可以丢弃整
  • 带路径压缩算法的加权 Quick-Union

    有一种 带路径压缩的加权快速联合 算法 代码 public class WeightedQU private int id private int iz public WeightedQU int N id new int N iz new
  • 生成所有多集大小为 n 的分区的算法

    我一直在试图找出一种方法来生成多重集的所有不同的大小为 n 的分区 但到目前为止却空手而归 首先让我展示一下我想要实现的目标 假设我们有一个输入向量uint32 t std vector
  • 快速约会算法

    我在一家咨询公司工作 大部分时间都在客户所在地 正因为如此 我很少见到同事 为了更好地了解彼此 我们将安排一个晚宴 会有很多小桌子 方便人们聊天 为了在聚会期间与尽可能多的不同的人交谈 每个人都必须每隔一段时间 比如每小时 换一张桌子 如何
  • 异或交换可以扩展到两个以上的变量吗?

    我一直在尝试将异或交换扩展到两个以上的变量 例如n变量 但我没有得到比这更好的地方3 n 1 对于两个整型变量x1 and x2你可以像这样交换它们 swap x1 x2 x1 x1 x2 x2 x1 x2 x1 x1 x2 所以 假设你有
  • 使用并集查找(又名不相交集)检测图是否是二分图

    我正在 Spoj 上做一个问题 基本上可以简化为检测图是否是二分图 我正在尝试使用 dfs 为图表着色 但它太慢了 有人评论这个 没有 bfs 没有 dfs 没有二部图 简单的并查集就可以做到 确实速度很快 提示 1 偶数长度的环不会影响两
  • 如何有效地找到距给定点最远的点(从一组点中)?

    我正在寻找一种算法或数据结构来解决以下问题 给你一组点 S 然后你会得到另一个点形式的 Q 查询 对于每个查询 找到集合中距离给定点最远的点 集合中最多有 10 5 个点和 10 5 个查询 所有点的坐标都在 0 到 10 5 范围内 我想
  • 迭代任意大小的子集

    我可以迭代大小为 1 的子集 for int a 0 a lt size a 或大小为 2 的子集 for int a1 0 a1 lt size a1 for int a2 a1 1 a2 lt size a2 or 3 for int
  • 归并排序中递归树的高度log(n)+1是怎么来的

    我按照 stackoveflow 的建议阅读了一些问题和答案 我正在遵循 cormen 的 算法简介 一书进行自学 那本书里已经解释得很清楚了 但唯一没有解释的是如何在合并排序分析中计算树的高度 如果在后面的章节中对此进行解释的话 我仍然在
  • Florian 的 Grisu2 算法如何工作?

    我遇到了一个关于将 double 转换为 ascii 的问题 经过搜索 我得到了 Florian 的论文 使用整数快速准确地打印浮点数 http www cs tufts edu nr cs257 archive florian loits
  • 解开 Knuth 的结:如何重构意大利面条式代码?

    这个问题的灵感来自如何将流程图转化为实施 https stackoverflow com questions 36647765它询问如何通过算法消除goto代码中的语句 这answer https stackoverflow com a 3
  • 如何用约束标记一大组“传递群”?

    在 NealB解决方案之后进行编辑 与以下解决方案相比 NealB的解决方案非常非常快任何另一个 https stackoverflow com q 18033115 answers and 提出了关于 添加约束以提高性能 的新问题 Nea

随机推荐

  • 将 ADT 和 Android sdk 工具更新到最新版本 22 后出现类未找到错误

    早些时候它工作正常 当我将我的 adt 和 android sdk 工具更新到最新版本 rev 22 时 我的应用程序停止工作 下面是 logcat 输出 请帮忙 05 16 16 36 01 922 E AndroidRuntime 12
  • 使用 Highcharts.js 的圆边仪表

    我正在使用 Highcharts 创建自定义仪表 窗格形状应如所附图片所示为圆形 想知道是否有人知道如何使用该库实现此布局 这是http jsfiddle net ao9fv2yh http jsfiddle net ao9fv2yh 我正
  • Git:忽略已编译的 Google Go

    我编译的 Go 代码在 Linux 上没有以扩展结尾 对于处理忽略 gitignore 文件中的这些内容有什么技巧吗 如果您正在使用go您可以使用构建代码的工具 o标志来指定输出文件名 因此您可以使用go build o bin elf然后
  • .NET 世界中的 ORM 和 SOA [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 根据我的经验 NET 的主要 ORM 框架 NHibernate http nhforge org Linq 转 Sql http msdn m
  • 为什么 Android 会截断我的 ActionBar 标题?

    在我的应用程序中 我更改了 ActionBar 中显示的每个片段的标题 当我第一次启动我的应用程序时 我收到了一个请求列表 因此我的标题是 我的请求 20 然后 当您单击该列表中的某个项目时 它会替换我的活动中的一个片段 并将标题设置为 操
  • 如何在子例程内引用哈希?

    我正在尝试使用模块的 tie 功能配置 Ini文件 http search cpan org shlomif Config IniFiles 2 65 lib Config IniFiles pm但我不知道如何引用子例程内部的哈希 如果我从
  • 查询或过滤最小字段值?

    示例 存储在索引中的文档表示测试分数和有关每个测试的元数据 test 1 user 1 score 100 meta other data test 2 user 2 score 65 meta other data test 3 user
  • Pylint 未在 VScode 中按预期运行

    当我通过 shell 运行时pylint pylint decorator py No config file found using default configuration Module decorator C 7 0 Unneces
  • EC2 无法解析私有 DNS 主机名

    我是 Amazon Web Service AWS 的新手 我刚刚创建了一个 VPC 和一个位于其中的子网 但是 我无法解析该子网中的任何主机名 当我停留在该子网中的任何主机中时 ec2 user ip 192 168 1 86 nsloo
  • 根据 rowwise 函数 (dplyr) 过滤行

    您能帮我在下面的最后一个命令中使用过滤dplyr代替apply 我试图解决发布的问题here https twitter com delta dc status 585478403463245826 photo 1 library gtoo
  • 使用Spring Beans和不使用Spring Beans有什么区别?

    可能我会得到很多反对票 但是对于我来说是否使用 bean 的所有事实都让我感到困惑 让我们假设这个例子 interface ICurrency String getSymbol public class CurrencyProcessor
  • boost::filesystem::path(std::wstring) 抛出异常

    这段代码 boost filesystem is directory usr include 工作正常 这段代码 boost filesystem is directory L usr include 抛出异常 抛出一个后终止调用 std
  • 首次加载时 WPF 验证不会触发

    在 Prism 应用程序中 我想使用验证 我已经在 ViewModel 中实现了 INotifyDataError 接口 但我发现首次加载控件时不会触发验证解决方案 然后我发现了同样的问题 比如 wpf 验证绑定在首次加载时未触发 我找到了
  • 使用 ACR122 在卡模拟模式下将数据写入 Nexus 4

    我正在尝试通过 NFC 即卡模拟模式 向 Nexus 4 发送一些数据 我尝试了许多命令 APDU 例如写入和更新 APDU 但无法让它们工作 我想说的是 我想在选择 APDU 命令后向手机发送一些数据 不是 AID 提前致谢 Bader
  • Doctrine 迁移:“”命名空间中没有定义命令

    我正在尝试将 Doctrine Migrations 设置为独立程序 但遇到了一些麻烦 我在同一个文件夹中有doctrine migrations phar 和migrations yml migrations yml 包含以下内容 nam
  • 邮件:无法打开流:权限被拒绝?

    我在使用 php 发送邮件时收到此警告 警告 邮件 1 function mail 无法打开流 home 中的权限被拒绝 使用 ssmtp 和 gmail 作为 smtp PHP 5 3 1 日志中没有任何内容 没有错误 邮件到达目的地 文
  • Vue npm runserve 在随机端口上启动

    我正在尝试在端口 8080 上运行 Vue 但无法使其工作 我刚刚创建了一个全新的项目vue create 并运行它npm run serve 这会在随机端口上启动应用程序 第一次尝试 运行 npm runserve 无需任何额外配置 np
  • 确定应用程序是否正常关闭

    有没有办法判断jvm是否正常关闭 shutdown hook只能产生一个线程 有没有办法判断当时JVM是正常存在还是异常存在 您可以在启动时写入一个文件 并在正常退出时再次删除它 如果 JVM 消失了 但文件仍然存在 您就知道它崩溃了或者以
  • 对于 @TestConfiguration 类的 @SpringBootTest @Import 不执行任何操作,而 @ContextConfiguration 按预期覆盖

    考虑以下集成测试注释 RunWith SpringRunner class SpringBootTest webEnvironment SpringBootTest WebEnvironment NONE properties spring
  • SHA-256 填充

    为了计算 SHA 256 哈希值 我需要填充我的消息 我使用以下描述 取自http csrc nist gov groups STM cavp documents shs sha256 384 512 pdf http csrc nist