日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

SHA,即Security Hash Algorithm縮寫,和MD5類似都是信息摘要算法,主要用于數(shù)字簽名,網(wǎng)絡(luò)支付,用戶登錄,密碼校驗(yàn)等場(chǎng)景。

網(wǎng)上流傳的SHA算法繁多,像SHA1,SHA224,SHA256等等,其實(shí)SHA就3個(gè)版本,SHA1,SHA2,SHA3,這其中SHA2又包含了SHA224,SHA256,SHA384,SHA512, SHA3同樣包含了SHA3-224/256/384/512,他們共同組成了SHA大家族。

SHA1

SHA1可以根據(jù)明文生成160bit密文(信息摘要),例如:

明文:abcd

信息摘要81FE8BFE87576C3ECB22426F8E57847382917ACF20

那么與MD5有什么區(qū)別?

1.摘要長(zhǎng)度不同,MD5為128,SHA1為160位,多出的32位可以讓明文的碰撞概率減少2^32倍,破解難度增加,安全性更高。

2.摘要長(zhǎng)度增加,意味著性能的降低,SHA的性能比MD5要略低。

但即使如此,Marc Stevens、Pierre Karpman和Thomas Peyrin使用Amazon支持的64-GPU集群(稱為Kraken)運(yùn)行SHA-1內(nèi)部壓縮功能的freestart來(lái)碰撞目標(biāo),不到10小時(shí)便破解了SHA1的摘要信息。

谷歌在2017年宣布停止對(duì)SHA1證書的支持,同樣微軟終止了IE對(duì)SHA1的支持。然而,F(xiàn)acebook和Cloudflare提倡更優(yōu)雅的退休,這樣使無(wú)法升級(jí)到SHA-2的瀏覽器將繼續(xù)工作。

SHA2

SHA-2是一系列SHA算法變體的總稱,其中包含如下子版本:

SHA-256:可以生成長(zhǎng)度256bit的信息摘要。
SHA-224:SHA-256的“閹割版”,可以生成長(zhǎng)度224bit的信息摘要。
SHA-512:可以生成長(zhǎng)度512bit的信息摘要。
SHA-384:SHA-512的“閹割版”,可以生成長(zhǎng)度384bit的信息摘要。

顯然,信息摘要越長(zhǎng),發(fā)生碰撞的幾率就越低,破解的難度就越大。但同時(shí),耗費(fèi)的性能和占用的空間也就越高。SHA2繁多的種類使靈活性提高了不少,我們可以使用不同的摘要長(zhǎng)度滿足不同的場(chǎng)景。比如簡(jiǎn)單的驗(yàn)證數(shù)據(jù),使用SHA-256就足夠了,使用SHA-512顯然是小題大做了。除此之外,如果對(duì)安全性追求很高的話,可以使用MD5和SHA2混合算法。如下:

安全散列算法SHA詳解

 

分別對(duì)"abcd",生成MD5和SHA-256摘要,取MD5的前16位,SHA-256的后20位拼接成36位的摘要,這樣就在不知道拼接規(guī)則的前提下,摘要幾乎不可能被破解。

SHA1和SHA2原理

安全散列算法SHA詳解

SHA-1算法

核心過(guò)程大同小異,主要的不同點(diǎn)是把160bit的信息摘要分成了A,B,C,D,E五段。其他的與MD5類似。

安全散列算法SHA詳解

SHA-2系列算法

把信息摘要分成了A,B,C,D,E,F(xiàn),G,H八段。

其中SHA-256的每一段摘要長(zhǎng)度是32bit,SHA-512的每一段摘要長(zhǎng)度是64bit。SHA-224和SHA-384則是在前兩者生成結(jié)果的基礎(chǔ)上做出裁剪。

關(guān)于SHA3

由Guido Bertoni、Joan Daemen、Gills Van Assche、Michael Peeters共同設(shè)計(jì)的Keccak算法最終確定為SHA-3標(biāo)準(zhǔn),其中Joan Daemen也是對(duì)稱密碼算法AES的設(shè)計(jì)之一。

基于NIST所設(shè)定的條件,我們能夠免費(fèi)、自由地使用SHA-3算法,這與AES的情形完全相同。不過(guò),SHA-3的出現(xiàn)并不意味著SHA-2就不安全了,在一段時(shí)間內(nèi),SHA-2和SHA-3還將會(huì)共存。

目前關(guān)于SHA3,多用于數(shù)字貨幣加密,其他項(xiàng)目大部分都是用SHA2做加密手段。SHA3的優(yōu)勢(shì)如下:

  • 采用了與SHA-2完全不同的結(jié)構(gòu)。
  • 結(jié)構(gòu)清晰,易于分析
  • 能夠適用于各種設(shè)備,也適用與嵌入式應(yīng)用
  • 在硬件上的實(shí)現(xiàn)顯示出很高的性能
  • 比其他最終候選算法安全性邊界更大

對(duì)SHA3感興趣的請(qǐng)自行查看其官方文檔,本文不再過(guò)多贅述。

開(kāi)源工具

與MD5一樣,JDK提供了豐富非支持。

安全散列算法SHA詳解

 

結(jié)果:

明文:abcd
SHA密文:
81FE8BFE87576C3ECB22426F8E57847382917ACF20
SHA1密文:
81FE8BFE87576C3ECB22426F8E57847382917ACF20
SHA224密文:
A76654D8E3550E9A2D67A0EEB6C67B220E5885EDDD3FDE135806E60128
SHA256密文:
88D4266FD4E6338D13B845FCF289579D209C897823B9217DA3E161936F03158932
SHA384密文:
1165B3406FF0B52A3D24721F785462CA2276C9F454A116C2B2BA20171A7905EA5A026682EB659C4D5F115C363AA3C79B48
SHA512密文:
D8022F2060AD6EFD297AB73DCC5355C9B214054B0D1776A136A669D26A7D3B14F73AA0D0EBFF19EE333368F0164B6419A96DA49E3E481753E7E96B716BDCCB6F6

其實(shí)JAVA中SHA和SHA1就是指的SHA1加密,本文到此結(jié)束了。喜歡就關(guān)注一下吧,跟我一塊進(jìn)步哦。

分享到:
標(biāo)簽:詳解 SHA
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定