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

SHA-256的初始哈希值是怎么规定的?

SHA-256的8个初始哈希值是将2,3,5,7,11,13,17,19这8个质数的平方根的小数部分取前32bit二进制位得到的。

具体实现代码如下:

#include <stdio.h>int main(int argc, char *argv[])
{double decimals[8] = {0.414213562373095,0.732050807568877,0.23606797749979,0.645751311064591,0.3166247903554,0.605551275463989,0.123105625617661,0.358898943540674,};unsigned short prime_arrays[8] = { 2, 3, 5, 7, 11, 13, 17, 19 };unsigned short weight_arrays[8][32] = {0};unsigned short i = 0, j = 0;unsigned long result[8] = { 0 };for (j = 0; j < 8; ++j) {for (i = 0; i < 32; ++i) {decimals[j] *= 2;if (decimals[j] > 1) {weight_arrays[j][i] = 1;decimals[j] -= 1;} else {weight_arrays[j][i] = 0;}}printf("质数%2d的小数的前31位二进制:", prime_arrays[j]);for (i = 0; i < 32; ++i) {printf("%d ", weight_arrays[j][i]);}printf("\n");}for (j = 0; j < 8; ++j) {for (i = 0; i < 32; ++i) {result[j] += weight_arrays[j][i] << (31 - i);}printf("质数%2d的小数的前31位:", prime_arrays[j]);printf("%#x\n", result[j]);}return 0;
}

程序运行结果:

即:

h0 = 0x6a09e667
h1 = 0xbb67ae85
h2 = 0x3c6ef372
h3 = 0xa54ff53a
h4 = 0x510e527f
h5 = 0x9b05688c
h6 = 0x1f83d9ab
h7 = 0x5be0cd19

http://www.dtcms.com/a/618854.html

相关文章:

  • 做视频添加字幕的网站wordpress 获取导航栏
  • 建立网站数据库实验报告徐州设计公司有哪些
  • 专业网站公司本地佛山企业网站建设
  • 网页设计模板素材网站做一个招聘信息的网站 用什么做网站的软件
  • 【Spring Boot】基于MyBatis的条件分页
  • LVS负载均衡群集(二)-- DR模式
  • 做刷题网站赚钱么口碑好的聊城网站建设
  • 外贸网站怎么做关键词网络设计与实施
  • 【Linux驱动开发】Linux 设备驱动中的异步通知与异步 I/O:原理、机制与实战
  • 汕头网站建设报价云南省建设交易中心网站
  • 【QT笔记】常用控件——QWidget 核⼼属性
  • 学校网站怎么建设视频湖南网站建设公司 地址磐石网络
  • 【MySQL】基础
  • 怎么做个手机版的网站吗成全视频免费高清观看在线动漫电影
  • 模仿 网站西宁做网站需要多少钱
  • PHP代码审计框架性思维的建立
  • 惠州个人做网站联系人安卓开发自学教程
  • ASC学习笔记0026:链接动画实例标签
  • termux脚本熄屏后自动杀掉抖音进程
  • 徐州企业网站推广请人做网站买断域名
  • 锦州网站制作公司关于网站项目建设的申请
  • 什么是CSV(周期同步速度模式)和PV(轮廓速度模式)
  • 有些人做网站不用钱的 对吗网页界面设计的特点
  • 从开发到部署:Docker 化前端应用全流程指南
  • 网站开发安全小贴士苏州seo网站推广公司
  • 临沂住房和城乡建设局网站打不开男人与女人做视频网站
  • USDT区块链转账 vs SWIFT跨境转账:技术逻辑与场景博弈的深度拆解
  • 网站设计外文文献苏州怎么做网站排名优化
  • 数据结构 2.0
  • 公募基金与私募基金评价指标深度研究