在go中的系統(tǒng)加密包 crypto/md5 包中,提供了 New() 和 Sum() 函數(shù)來(lái)獲取md5值。
目前創(chuàng)新互聯(lián)公司已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、樺甸網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
16位md5加密字符串就是32位最中間的那16位,可以先使用md5計(jì)算出32位字符串,再取其中的[8:24]子字符串就可以了
輸出測(cè)試結(jié)果為:
對(duì)面cmd5網(wǎng)站md5數(shù)據(jù)
理論上是不能破解的,因?yàn)閙d5采用的是不可逆算法。
有的網(wǎng)站上提供MD5解密,是因?yàn)橛写罅康拇鎯?chǔ)空間來(lái)保存源碼和加密后的密碼,當(dāng)解密時(shí)就是一個(gè)查詢的過(guò)程,稍微復(fù)雜點(diǎn)的查詢就無(wú)法完成。
單向散列函數(shù)(one-wayfunction)有一個(gè)輸入和一個(gè)輸出,其中輸入稱為消息(message),輸出稱為散列值 (hashvalue)。單向散列函數(shù)可以根據(jù)消息的內(nèi)容計(jì)算出散列值,而散列值就可以被用來(lái)檢查消息的完整性。
這里的消息不一定是人類(lèi)能夠讀懂的文字,也可以是圖像文件或者聲音文件。單向散列函數(shù)不需要知道消息實(shí)
際代表的含義。無(wú)論任何消息,單向散列函數(shù)都會(huì)將它作為單純的比特序列來(lái)處理,即根據(jù)比特序列計(jì)算出散
列值。
散列值的長(zhǎng)度和消息的長(zhǎng)度無(wú)關(guān)。無(wú)論消息是1比特,還是100MB,甚至是IOOGB,單向散列函數(shù)都會(huì)計(jì)算出固 定長(zhǎng)度的散列值。以SHA-I單向散列函數(shù)為例,它所計(jì)算出的散列值的長(zhǎng)度永遠(yuǎn)是160比特(20字節(jié))。
單向散列函數(shù)的相關(guān)術(shù)語(yǔ)有很多變體,不同參考資料中所使用的術(shù)語(yǔ)也不同,下面我們就介紹其中的兒個(gè)。 單向散列函數(shù)也稱為 消息摘要函數(shù)(message digest function) 、 哈希函數(shù) 或者 雜湊函數(shù) 。 輸入單向散列函數(shù)的消息也稱為 原像 (pre-image) 。
單向散列函數(shù)輸出的散列值也稱為 消息摘要 (message digest)或者 指紋 (fingerprint)。 完整性 也稱為一致性。
MD4是由Rivest于1990年設(shè)計(jì)的單向散列函數(shù),能夠產(chǎn)生128比特的散列值(RFC1186,修訂版RFC1320)。不 過(guò),隨著Dobbertin提出尋找MD4散列碰撞的方法,因此現(xiàn)在它已經(jīng)不安全了。
MD5是由Rwest于1991年設(shè)計(jì)的單項(xiàng)散列函數(shù),能夠產(chǎn)生128比特的散列值(RFC1321)。
MD5的強(qiáng)抗碰撞性已經(jīng)被攻破,也就是說(shuō),現(xiàn)在已經(jīng)能夠產(chǎn)生具備相同散列值的兩條不同的消息,因此它也已
經(jīng)不安全了。
MD4和MD5中的MD是消息摘要(Message Digest)的縮寫(xiě)。
SHA-1是由NIST(NationalInstituteOfStandardsandTechnology,美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所)設(shè)計(jì)的一種能夠產(chǎn)生 160比特的散列值的單向散列函數(shù)。1993年被作為美國(guó)聯(lián)邦信息處理標(biāo)準(zhǔn)規(guī)格(FIPS PUB 180)發(fā)布的是 SHA,1995年發(fā)布的修訂版FIPS PUB 180-1稱為SHA-1。
SHA-1的消息長(zhǎng)度存在上限,但這個(gè)值接近于2^64比特,是個(gè)非常巨大的數(shù)值,因此在實(shí)際應(yīng)用中沒(méi)有問(wèn)題。
SHA-256、SHA-384和SHA-512都是由NIST設(shè)計(jì)的單向散列函數(shù),它們的散列值長(zhǎng)度分別為256比特、384比特和
512比特。這些單向散列函數(shù)合起來(lái)統(tǒng)稱SHA-2,它們的消息長(zhǎng)度也存在上限(SHA-256的上限接近于 2^64 比特,
SHA-384 和 SHA-512的上限接近于 2^128 比特)。這些單向散列函數(shù)是于2002年和 SHA-1 一起作為 FIPS PUB 180-2 發(fā)布的 SHA-1 的強(qiáng)抗碰撞性已于2005年被攻破, 也就是說(shuō),現(xiàn)在已經(jīng)能夠產(chǎn)生具備相同散列值的兩條不同的消 息。不過(guò),SHA-2還尚未被攻破。
網(wǎng)頁(yè)標(biāo)題:go語(yǔ)言中的md5 go 文件md5
網(wǎng)站鏈接:http://jinyejixie.com/article36/dosdcpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、品牌網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容