活力密碼是什么意思「活力寶貝是什么意思」( 五 )


算法
MD表示消息摘要(Message Digest) 。MD5是MD4的改進版,該算法對輸入的任意長度消息產生128位散列值(或消息摘要 。MD5算法可用圖4-2表示 。
對md5算法簡要的敘述可以為:md5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理后,算法的輸出由四個32位分組組成,將這四個32位分組級聯后將生成一個128位散列值 。
1) 附加填充位
首先填充消息,使其長度為一個比512的倍數小64位的數 。填充 *** :在消息后面填充一位1,然后填充所需數量的0 。填充位的位數從1~512 。
2) 附加長度
將原消息長度的64位表示附加在填充后的消息后面 。當原消息長度大于264時,用消息長度mod 264填充 。這時,消息長度恰好是512的整數倍 。令M[0 1…N?1]為填充后消息的各個字(每字為32位),N是16的倍數 。
3) 初始化MD緩沖區
初始化用于計算消息摘要的128位緩沖區 。這個緩沖區由四個32位寄存器A、B、C、D表示 。寄存器的初始化值為(按低位字節在前的順序存放):
A: 01 23 45 67
B: 89 ab cd ef
C: fe dc ba 98
D: 76 54 32 10
4) 按512位的分組處理輸入消息
這一步為MD5的主循環,包括四輪,如圖4-3所示 。每個循環都以當前的正在處理的512比特分組Yq和128比特緩沖值ABCD為輸入,然后更新緩沖內容 。
四 *** 作的不同之處在于每輪使用的非線性函數不同,在之一 *** 作之前,首先把A、B、C、D復制到另外的變量a、b、c、d中 。這四個非線性函數分別為(其輸入/輸出均為32位字):
F(X,Y,Z) = (XY)((~X) Z)
G(X,Y,Z) = (XZ)(Y(~Z))
H(X,Y,Z) = XYZ
I(X,Y,Z) = Y(X(~Z))
其中,表示按位與;表示按位或;~表示按位反;表示按位異或 。
此外,由圖4-4可知,這一步中還用到了一個有64個元素的表T[1..64],T[i]=232×abs(sin(i)),i的單位為弧度 。
根據以上描述,將這一步驟的處理過程歸納如下:
for i = 0 to N/16?1 do
/* 每次循環處理16個字,即512字節的消息分組*/
/*把第i個字塊(512位)分成16個32位子分組拷貝到X中*/
for j = 0 to 15 do
Set X[j] to M[i*16+j]
end/*j 循環*/
/*把A存為AA,B存為BB,C存為CC,D存為DD*/
AA = A
BB = B
CC = C
DD = D
/* 之一輪*/
/* 令[abcd k s i]表示操作
a = b + ((a + F(b,c,d) + X[k] + T[i])s)
其中,Ys表示Y循環左移s位*/
/* 完成下列16個操作*/
[ABCD071 ?] [DABC1122 ?] [CDAB2173 ?] [BCDA3224 ?]
[ABCD475 ?] [DABC5126 ?] [CDAB6177 ?] [BCDA7228 ?]
[ABCD879 ?] [DABC91210] [CDAB101711] [BCDA112212]
[ABCD12713] [DABC131214] [CDAB141715] [BCDA152216]
/* 第二輪*/
/*令[abcd k s i]表示操作
a = b + ((a + G(b,c,d) + X[k] + T[i])s)*/
/*完成下列16個操作*/
[ABCD1517] [DABC6918] [CDAB111419] [BCDA02020]
[ABCD5521] [DABC10922] [CDAB151423] [BCDA42024]
[ABCD9525] [DABC14926] [CDAB31427] [BCDA82028]
[ABCD13529] [DABC2930] [CDAB71431] [BCDA122032]
/*第三輪*/
/*令[abcd k s t]表示操作
a = b + ((a + H(b,c,d) + X[k] + T[i])s)*/
/*完成以下16個操作*/
[ABCD5433] [DABC81134] [CDAB111635] [BCDA142336]
[ABCD1437] [DABC41138] [CDAB71639] [BCDA102340]
[ABCD13441] [DABC01142] [CDAB31643] [BCDA62344]
[ABCD9445] [DABC121146] [CDAB151647] [BCDA22348]
/*第四輪*/
/*令[abcd k s t]表示操作
a = b + ((a + I(b,c,d) + X[k] + T[i])s) */
/*完成以下16個操作*/
[ABCD0649] [DABC71050] [CDAB141551] [BCDA52152]
[ABCD12653] [DABC31054] [CDAB101555] [BCDA12156]
[ABCD8657] [DABC151058] [CDAB61559] [BCDA132160]
[ABCD4661] [DABC111062] [CDAB21563] [BCDA92164]
A = A + AA
B = B + BB
C = C + CC
D = D + DD
end/*i循環*/
5) 輸出
由A、B、C、D四個寄存器的輸出按低位字節在前的順序(即以A的低字節開始、D的高字節結束)得到128位的消息摘要 。
以上就是對MD5算法的描述 。MD5算法的運算均為基本運算,比較容易實現且速度很快 。
安全散列函數(SHA)
算法
SHA是美國NIST和NSA共同設計的安全散列算法(Secure Hash Algorithm),用于數字簽名標準DSS(Digital Signature Standard) 。SHA的修改版SHA–1于1995年作為美國聯邦信息處理標準公告(FIPS PUB 180–1)發布[2] 。
2羅氏活力血糖儀 密碼牌拔下來再插還有用嗎你好,羅氏活力型血糖儀的密碼牌與血糖試紙是相對應的 。你購買的血糖試紙里邊會附送一個密碼牌 。試紙只有使用相同的密碼牌才能準確測試出結果 。
如果你以前試紙的密碼牌跟新買的密碼牌數字一樣,那么更換密碼牌不會有什么影響 。

推薦閱讀