哈希函数-SHA1和SHA256算法
生活随笔
收集整理的這篇文章主要介紹了
哈希函数-SHA1和SHA256算法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SHA2算法是對(duì)SHA1算法的繼承。區(qū)別在于兩者的構(gòu)造和簽名長(zhǎng)度不同。
?
SHA1
SHA-1通過4輪運(yùn)算(每輪20步,共80步)將長(zhǎng)度不超過264的輸入壓縮成為160bit的消息摘要。
初始化MD緩沖區(qū),需要160位來存放哈希函數(shù)的初始變量、中間摘要和最終摘要。需要5個(gè)32位的寄存器。
SHA-1的框圖
?
SHA256
SHA256最大輸入長(zhǎng)度為2^64比特,輸入按照512比特分組,最終輸出256比特長(zhǎng)度的消息摘要。
消息填充
?
?
初始化
需要8個(gè)32位寄存器(ABCDEFGH)的緩存,初始化值是由SHS(Secure Hash Standard)協(xié)議規(guī)定的8個(gè)32位的字組成。
?
壓縮迭代計(jì)算
SHA256使用了六種邏輯函數(shù)
?
MD結(jié)構(gòu)
?
每個(gè)消息塊經(jīng)過64次循環(huán)后,就完成了本次迭代,形成新的哈希值H。經(jīng)過N次迭代之后,最終得到H(N)就是SHA256算法的消息摘要。
| for i = 1 to N (N為消息塊數(shù)) { …… for j = 0 to 63 (運(yùn)用SHA256壓縮函數(shù),完成64次循環(huán)) {……} …… } |
總結(jié)
以上是生活随笔為你收集整理的哈希函数-SHA1和SHA256算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python数据结构】——并查集的实现
- 下一篇: 洛谷P3628 [APIO2010]特别