最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

SHA-256加密算法

2022-11-17 00:04 作者:Vector永遠的神  | 我要投稿

SHA-256算法是采用哈希算法的思路對于消息數(shù)據(jù)進行加密處理。

首先是將文本數(shù)據(jù)轉(zhuǎn)化為對應(yīng)的ASCII碼的二進制數(shù)字符串,然后將這個字符串進行補位處理。對消息進行補位時,先在后面補一個1,如果不滿足要求,再補0直到滿足對512取模余數(shù)為448。這就意味著,補位至少補一位(原消息位數(shù)為512n+447),最多補512位(原消息位數(shù)為512n+448)。

(length(data)+ 1 + n )mod 512 = 448;

關(guān)于為什么是448,是因為512-448=64,這個64位需要用來存儲原始消息的長度,為了確保length(data)< 2^64.? 這個是在最后一個512bit的字符片段中添加原始片段的長度

以字符串a(chǎn)bc為例,?01100001 01100010 01100011? ?片段長度為24? 64bit表示長度000……011000.

首先是加1?? ?01100001 01100010 01100011 1

然后是在字符串后面補0直到總長度對512取模余數(shù)為448,這里補423個0,使總長度達到為448: 01100001 01100010 01100011 1000…..00? ?。

再加上原始片段的長度64bit位,一共湊成512bit片段??01100001 01100010 01100011?1000…..00??000……011000? ?表示長度為24.


然后是劃片計算,首先將補足后的字符串切割成若干個?512 bit長度的字符片段,然后從中選擇其中一個512bit的片段出來進行計算。

將這個512bit劃分為16*32bit長度,32bit為一個無符號數(shù)(unsigned integer),然后將16個無符號數(shù)擴充到64個無符號數(shù),擴充規(guī)則如下,其中rightrotate表示右移循環(huán),xor表示異或。

無符號數(shù)的擴充規(guī)則

接下來介紹主體的哈希函數(shù)的計算規(guī)則,如下圖所示,針對上述擴充產(chǎn)生的64個32位數(shù),有以下算法,紅框表示二者相加后mod2^32,ABCDEFGH等參數(shù)的初始值由下圖h值所對應(yīng),在運算的過程中不斷加以修改,Wi為擴充后的32位無符號數(shù),Ki是對應(yīng)的提前給定的哈希值。

主體計算過程

h是前8個質(zhì)數(shù)的1/2次方的小數(shù)位的十六進制表示下前32bit,

k是前64個質(zhì)數(shù)的1/3次方下的小數(shù)位的十六進制表示下前32bit,

相關(guān)參數(shù)的值

將擴展得到的64個無符號數(shù)循環(huán)完得到最終的ABCDEFGH八個8位十六進制的數(shù)組合起來,就是8*32bit=256bit長度的結(jié)果,這也就是SHA-256算法的一次執(zhí)行過程。之后再執(zhí)行下一個512bit的片段,在新一輪的遍歷過程中ABCDEFGH還會作為新一輪的值繼續(xù)執(zhí)行直到全部執(zhí)行完畢。


最終64輪循環(huán)結(jié)束后會得到ABCDEFGH八個32bit的值,最終組成256位的加密結(jié)果

SHA-256加密算法的評論 (共 條)

分享到微博請遵守國家法律
灵丘县| 新干县| 茂名市| 衡东县| 侯马市| 兰西县| 江北区| 柞水县| 公主岭市| 航空| 于都县| 大埔区| 沭阳县| 武邑县| 伊川县| 东辽县| 永嘉县| 柳林县| 洪湖市| 平顶山市| 清水河县| 昌邑市| 佛山市| 旬邑县| 常宁市| 威信县| 咸阳市| 额尔古纳市| 建昌县| 靖州| 武汉市| 陵川县| 文登市| 吴忠市| 大悟县| 吉安市| 西峡县| 姜堰市| 从江县| 中方县| 沙河市|