算法整体逻辑简述
- 初始化常量,即第一个哈希值 ,初始哈希值[公式]取自自然数中前面8个素数(2,3,5,7,11,13,17,19)的平方根的小数部分, 并且取前面的32位.
- 消息预处理,二进制补位,原始数据+1+补位0+64位原始数据长度二进制值达到512最小倍数
- 对补位后的数据分块,每512位一块
- 主循环,根据第i-1块中间哈希值计算第i块的中间哈希值,直至最后一块,i=0时,使用初始哈希值
其中,核心函数为SHA256压缩函数,用来从第i-1块中间哈希值计算第i块的中间哈希值
仅表达核心思想,具体函数和计算过程后续补充,
参考文章:一文读懂SHA256算法原理及其实现
906

被折叠的 条评论
为什么被折叠?



