当前位置: 首页 > news >正文

网站运营与网站策划甘肃网站建设哪家好

网站运营与网站策划,甘肃网站建设哪家好,免费手机网站系统,php网站源码免费下载SHA 算法的原理及实现 章节目录 简介算法描述 2.1 数据准备 2.1.1 数据填充 2.1.2 数据分块 2.1.3 设置初始 Hash 值 2.2 Hash 计算 2.2.1 SHA-1 2.2.2 SHA-256 2.2.3 SHA-512实现b作者能力有限, 如果您在阅读过程中发现任何错误, 还请您务必联系本人,指出错误, …    SHA 算法的原理及实现 章节目录 简介算法描述 2.1 数据准备 2.1.1 数据填充 2.1.2 数据分块 2.1.3 设置初始 Hash 值 2.2 Hash 计算 2.2.1 SHA-1 2.2.2 SHA-256 2.2.3 SHA-512实现b作者能力有限, 如果您在阅读过程中发现任何错误, 还请您务必联系本人,指出错误, 避免后来读者再学习错误的知识.谢谢!/b 简介 SHA 算法英语Secure Hash Algorithm缩写为SHA是一个密码散列函数家族是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的长度固定的字符串又称消息摘要的算法。且若输入的消息不同它们对应到不同字符串的机率很高。 本文我们将介绍以下 SHA 算法: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256. 其中 SHA-224 和 SHA-256 使用相同的算法, 区别在于初始 Hash 值不同, 最终结果只使用算法输出的数据中的前224/256 bit. SHA-384, SHA-512, SHA-512/224, SHA-512/256 使用相同的算法, 区别在于初始 Hash 值不同, 最终结果只使用算法输出的数据中的前384/512/224/256 bit. 而 SHA-2* 和 SHA-384,SHA-5* 算法也非常类似, 区别在于采用的字(Word) 长度不同, SHA-2*使用 32-bit 的字, 而 其他算法使用 64-bit 的字. 算法的迭代次数也不一样. 算法描述 本文中将介绍的 SHA 算法的计算步骤从大体上可以分为两步: b数据准备/b 和 bHash 计算/b. 数据准备 在数据准备阶段, 我们也像 MD5 那样, 需要先将数据填充到特定长度,同时将原始数据长度填充进去,然后对数据进行分块, 因为我们的算法是基于块进行的. SHA 家族中的具体算法的实现大体相同, 只是填充长度的bit数,分块大小略有不同而已. 在数据准备阶段我们需要进行三个操作: 数据填充, 数据分块, 设置初始 Hash 值. 数据填充 我们使用 表示数据数据, 它的长度使用 表示. 对于算法 bSHA-1/b, bSHA-224/b, bSHA-256/b, 数据填充方法如下: 先填充 1 bit 的 1 到数据末尾, 然后紧接着填充 k 个 0, 这里 k 需要时最小的非负数且满足 , 也即是说需要将原始数据长度填充到b差64位就是512的整数倍/b. 上述操作结束后, 将 表示为 64 bit 的bit数组填充到上述步骤所得的数据之后, 此时我们得到一个长度为512整数倍的数据. 举个例子: 假设我们的数据数据为abc, 它的长度为24(bit). 我们通过计算得到 k 应该是 423(448 - 1 - 24). 此时填充之后的数据应该如下: 填充完成之后的长度是512(bit). 对于算法 bSHA-384/b, bSHA-512/b, bSHA-512/224/b, bSHA-512/256/b, 数据填充方法如下: 先填充 1 bit 的 1 到数据末尾, 然后紧接着填充 k 个 0, 这里 k 需要时最小的非负数且满足 , 也即是说需要将原始数据长度填充到b差128位就是1024的整数倍/b. 上述操作结束后, 将 表示为 128 bit 的bit数组填充到上述步骤所得的数据之后, 此时我们得到一个长度为1024整数倍的数据. 以上述的例子为例: 假设我们的数据数据为abc, 它的长度为24(bit). 我们通过计算得到 k 应该是 871(896 - 1 - 24). 此时填充之后的数据应该如下: 填充完成之后的长度是1024(bit). 数据分块 填充后的数据需要被分块. 对于算法 bSHA-1/b, bSHA-224/b, bSHA-256/b, 我们将数据分为 个 521-bit 的块, 分别表示为 512-bit 的块又可以被划分为 16 个字(32-bit Word), 分别表示为 对于算法 bSHA-384/b, bSHA-512/b, bSHA-512/224/b, bSHA-512/256/b 我们将数据分为 个 1024-bit 的块, 分别表示为 1024-bit 的块又可以被划分为 16 个字(64-bit Word), 分别表示为 设置初始 Hash 值 每个特定的 SHA 算法, 都有相应的初始 Hash 值. 在计算 Hash 之前, 我们需要先将初始值准备好. 为了减少文章篇幅, 这里我们不列出这些初始值和 Hash 计算过程中使用到的常量,后边算法实现中会给出相应数据. Hash 计算 SHA-1 SHA-1 算法要求输入数据的长度不能大于 , 最小长度为0. 伪代码如下: For i1 to N: {     //1. 计算 //2. 初始化工作变量 a, b, c, d, e. 他们用来存储在第 i-1 次迭代式的 Hash 值     // 他们的初始值就是我们在设置初始 Hash 值小节中所说的值. // 3     For t0 to 79:     {     } //4. 计算第 中间 hash 值 } 在经过 N 次迭代之后, 最终结果为 的字节表示依次连接所组成的字节数组. SHA-256 SHA-256 算法要求输入数据的长度不能大于 , 最小长度为0. SHA-224 算法的计算过程与 SHA-256 相同, 却别在于使用的初始化 Hash 值不同, 且 SHA-224 算法的最终结果是取 SHA-256 算法结果的前 224 bit. 伪代码如下: For i1 to N: {     //1. 计算 //2. 初始化工作变量 a, b, c, d, e, f, g, h. 他们用来存储在第 i-1 次迭代式的 Hash 值     // 他们的初始值就是我们在设置初始 Hash 值小节中所说的值. // 3     For t0 to 63:     {     } //4. 计算第 中间 hash 值 } 在经过 N 次迭代之后, 最终结果为 的字节表示依次连接所组成的字节数组. SHA-512 SHA-512 算法要求输入数据的长度不能大于 , 最小长度为0. SHA-384 算法的计算过程与 SHA-512 相同, 却别在于使用的初始化 Hash 值不同, 且 SHA-384 算法的最终结果是取 SHA-512 算法结果的前 384 bit. SHA-512/224 算法的计算过程与 SHA-512 相同, 却别在于使用的初始化 Hash 值不同, 且 SHA-512/224 算法的最终结果是取 SHA-512 算法结果的前 224 bit. SHA-512/256 算法的计算过程与 SHA-512 相同, 却别在于使用的初始化 Hash 值不同, 且 SHA-512/256 算法的最终结果是取 SHA-512 算法结果的前 256 bit. 伪代码如下: For i1 to N: {     //1. 计算 //2. 初始化工作变量 a, b, c, d, e, f, g, h. 他们用来存储在第 i-1 次迭代式的 Hash 值     // 他们的初始值就是我们在设置初始 Hash 值小节中所说的值. // 3     For t0 to 79:     {     } //4. 计算第 中间 hash 值 } 在经过 N 次迭代之后, 最终结果为 的字节表示依次连接所组成的字节数组. 算法实现 本人使用 go 语言实现了该算法. github:https://github.com/UselezzProgrammer/mycrypto END!
http://www.zqtcl.cn/news/160388/

相关文章:

  • 服务外包网站wordpress 禁止转载
  • l礼品文化网站建设不常见的网络营销方式
  • 做网站侵权腾讯企点打不开
  • iis 网站拒绝显示此网页上海网站建设类岗位
  • 营销型网站建设推荐google关键词
  • 网站上线是前端还是后端来做如何做垂直门户网站
  • 网站建设与管理2018海尔集团网站 建设目的
  • ps做网站大小wordpress调用 php文件
  • php网站忘记后台密码江苏网页制作报价
  • 网站模板 哪个好完备的常州网站推广
  • 衡水淘宝的网站建设濮阳市城乡一体化示范区主任
  • 公司网上注册在哪个网站商洛市商南县城乡建设局网站
  • 怎么才能让网站图文展示大连网站建设设计
  • 俱乐部网站 模板seo产品是什么意思
  • 新手学做网站的教学书建造师查询官网
  • win2012 iis添加网站群辉做网站服务器
  • 网站优化课程培训山东网站备案公司
  • top wang域名做网站好事业单位门户网站建设评价
  • 有什么网站可以做简历网站备案表格
  • 网站开发用什么图片格式最好厦门人才网个人会员
  • 关于网站开发的文献深圳网络推广代运营
  • 网站做app的重要性做静态网站有什么用
  • 一键搭建网站系统教做衣服的网站有哪些
  • 城乡建设部网站施工员证书查询中铁建设集团有限公司招标平台
  • 广东省建设项目安全标准自评网站哪个网站可以免费做简历
  • 带产品展示的个人网站模板购物网站开发背景
  • 哪个域名注册网站好seo广告投放是什么意思
  • 网站建设ydwzjs电子邮箱怎么申请
  • 福建省建住房建设部网站wordpress 算数验证码
  • 东莞企业如何建网站网站正在建设中...为什么护卫神