常用加解密那些事之?dāng)?shù)字摘要

常用的數(shù)字摘要算法有MD5SHA等,下面這對這些數(shù)字摘要算法來進(jìn)行介紹。
將數(shù)據(jù)(如一段文字)運(yùn)算變?yōu)榱硪还潭ㄩL度值,是散列算法的基礎(chǔ)原理千埃。

MD5算法

消息摘要算法版本5(Message-Digest Algorithm 5)即MD5憔儿,由Ron Rivest(RSA公司)在1992年提出,目前被廣泛應(yīng)用于數(shù)據(jù)完整性校驗(yàn)放可、數(shù)據(jù)(消息)摘要谒臼、數(shù)據(jù)加密等。MD2耀里、MD4蜈缤、MD5都產(chǎn)生16字節(jié)(128位)的校驗(yàn)值,一般用32位十六進(jìn)制數(shù)表示冯挎。MD2的算法較慢但相對安全底哥,MD4速度很快,但安全性下降房官,MD5MD4更安全趾徽、速度更快。

介紹

MD5 報(bào)文摘要算法:MD5 報(bào)文摘要算法將任意長度的信息作為輸入值翰守,并將其換算成一個 128 位長度的"指紋信息"或"報(bào)文摘要"值來代表這個輸入值孵奶,并以換算后的值作為結(jié)果。MD5 算法主要是為數(shù)字簽名應(yīng)用程序而設(shè)計(jì)的蜡峰;在這個數(shù)字簽名應(yīng)用程序中了袁,較大的文件將在加密(這里的加密過程是通過在一個密碼系統(tǒng)下[如:RSA]的公開密鑰下設(shè)置私有密鑰而完成的)之前以一種安全的方式進(jìn)行壓縮。[來自RFC1321]
MD5用途廣泛湿颅,對數(shù)據(jù)生成信息摘要放置被篡改载绿,為大文件生成唯一的MD5信息摘要,保證文件未被修改油航。

實(shí)現(xiàn)原理:

MD5以512位分組來處理輸入的信息卢鹦,且每一分組又被劃分為16個32位子分組,經(jīng)過了一系列的處理后劝堪,算法的輸出由四個32位分組組成冀自,將這四個32位分組級聯(lián)后將生成一個128位散列值。

MD5原理參考:
MD5算法原理
SHA1和MD5算法詳解和源碼

SHA算法

安全散列算法(SHA)能計(jì)算出一個數(shù)字消息所對應(yīng)到的秒啦,長度固定的字符串(又稱消息摘要)的算法熬粗。也是一種比較常用的數(shù)據(jù)摘要算法,目前SHA家族主要有五個算法余境,對于這幾種算法SHA家族中有介紹驻呐。

介紹

SHA(Secure Hash Algorithm)是由美國專門制定密碼算法的標(biāo)準(zhǔn)機(jī)構(gòu)——美國國家標(biāo)準(zhǔn)技術(shù)研究院(NIST)制定的灌诅,SHA系列算法的摘要長度分別為:SHA為20字節(jié)(160位)、SHA256為32字節(jié)(256位)含末、 SHA384為48字節(jié)(384位)猜拾、SHA512為64字節(jié)(512位),由于它產(chǎn)生的數(shù)據(jù)摘要的長度更長佣盒,因此更難以發(fā)生碰撞挎袜,因此也更為安全,它是未來數(shù)據(jù)摘要算法的發(fā)展方向肥惭。由于SHA系列算法的數(shù)據(jù)摘要長度較長盯仪,因此其運(yùn)算速度與MD5相比,也相對較慢蜜葱。
目前SHA1的應(yīng)用較為廣泛全景,主要應(yīng)用于CA和數(shù)字證書中,另外在目前互聯(lián)網(wǎng)中流行的BT軟件中牵囤,也是使用SHA1來進(jìn)行文件校驗(yàn)的爸黄。

實(shí)現(xiàn)原理

給消息附加填充位使其模512與448同余(M%512 == 448)。即使?jié)M足了條件也要填充512位(比特)揭鳞。填充過程是這樣的:先補(bǔ)一位1馆纳,后面一律補(bǔ)0,直至滿足條件汹桦。因此至少填充1位鲁驶,最多填充512位。
因?yàn)槲覀兇鎯Φ臅r(shí)候是以字節(jié)為單位存儲的舞骆,所以我們的消息的長度(單位:位)一定是8的倍數(shù)钥弯。而我們填充的時(shí)候也一定是8位,8位的來填充督禽。也即不可能只填充一個二進(jìn)制位脆霎,至少是8個二進(jìn)制位(一個字節(jié))。因此最少填充1個字節(jié)狈惫,最多填充64個字節(jié)(64*8=512)睛蛛。
在附加填充位完成之后,還要附加長度胧谈,即附加64位數(shù)據(jù)來存儲原始消息的長度忆肾。因?yàn)樵诟郊犹畛湮煌瓿芍螅㈤L度(單位:位)是512與448同余菱肖,而此時(shí)再附加64位之后客冈,消息長度就變成了512的整數(shù)倍。
最后我們開始計(jì)算消息摘要的時(shí)候稳强,就是每512位為一組開始計(jì)算的场仲。
其詳細(xì)的實(shí)現(xiàn)參見什么是安全散列算法SHA256和悦?

參考:數(shù)據(jù)摘要算法總結(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市渠缕,隨后出現(xiàn)的幾起案子鸽素,更是在濱河造成了極大的恐慌,老刑警劉巖亦鳞,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件馍忽,死亡現(xiàn)場離奇詭異,居然都是意外死亡蚜迅,警方通過查閱死者的電腦和手機(jī)舵匾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門俊抵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谁不,“玉大人,你說我怎么就攤上這事徽诲∩才粒” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵谎替,是天一觀的道長偷溺。 經(jīng)常有香客問我,道長钱贯,這世上最難降的妖魔是什么挫掏? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮秩命,結(jié)果婚禮上尉共,老公的妹妹穿的比我還像新娘。我一直安慰自己弃锐,他們只是感情好袄友,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著霹菊,像睡著了一般剧蚣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旋廷,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天鸠按,我揣著相機(jī)與錄音,去河邊找鬼饶碘。 笑死待诅,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的熊镣。 我是一名探鬼主播卑雁,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼募书,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了测蹲?” 一聲冷哼從身側(cè)響起莹捡,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扣甲,沒想到半個月后篮赢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡琉挖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年启泣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片示辈。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡寥茫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出矾麻,到底是詐尸還是另有隱情纱耻,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布险耀,位于F島的核電站弄喘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏甩牺。R本人自食惡果不足惜蘑志,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贬派。 院中可真熱鬧急但,春花似錦、人聲如沸赠群。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽查描。三九已至突委,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冬三,已是汗流浹背匀油。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勾笆,地道東北人敌蚜。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像窝爪,于是被迫代替她去往敵國和親弛车。 傳聞我的和親對象是個殘疾皇子齐媒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 這篇文章主要講述在Mobile BI(移動商務(wù)智能)開發(fā)過程中,在網(wǎng)絡(luò)通信纷跛、數(shù)據(jù)存儲喻括、登錄驗(yàn)證這幾個方面涉及的加密...
    雨_樹閱讀 2,354評論 0 6
  • 在開發(fā)應(yīng)用過程中,客戶端與服務(wù)端經(jīng)常需要進(jìn)行數(shù)據(jù)傳輸贫奠,涉及到重要隱私安全信息時(shí)唬血,開發(fā)者自然會想到對其進(jìn)行加密,即使...
    閑庭閱讀 3,262評論 0 11
  • 本文主要介紹移動端的加解密算法的分類唤崭、其優(yōu)缺點(diǎn)特性及應(yīng)用拷恨,幫助讀者由淺入深地了解和選擇加解密算法。文中會包含算法的...
    蘋果粉閱讀 11,470評論 5 29
  • 上學(xué)期選修了一門信息安全討論谢肾,期末的時(shí)候是寫一個關(guān)于信息安全方面的報(bào)告腕侄,找本科畢設(shè)精簡一下交上去,被老師發(fā)現(xiàn)了勒叠,開...
    cutoutsy閱讀 3,407評論 0 1
  • 本文通過對回天新材前世今生的案例回顧兜挨,闡述出在創(chuàng)業(yè)板市場上一個普遍的高管辭職“跑路”現(xiàn)象膏孟。 首先分析原因:創(chuàng)業(yè)板是...
    孫瑜苒苒閱讀 453評論 0 0