SHA是什么意思 MD5與SHA1HASH這些東西,有什么相同點(diǎn)與不同點(diǎn)?
MD5與SHA1HASH這些東西,有什么相同點(diǎn)與不同點(diǎn)?Hash,一般翻譯為“Hash”,也可以直接音譯為“Hash”,就是把任意長(zhǎng)度的輸入轉(zhuǎn)換成固定長(zhǎng)度的輸出,輸出的就是Hash值。這種變換是一種壓
MD5與SHA1HASH這些東西,有什么相同點(diǎn)與不同點(diǎn)?
Hash,一般翻譯為“Hash”,也可以直接音譯為“Hash”,就是把任意長(zhǎng)度的輸入轉(zhuǎn)換成固定長(zhǎng)度的輸出,輸出的就是Hash值。這種變換是一種壓縮映射,即散列值的空間通常比輸入的空間小得多,不同的輸入可能被散列到同一個(gè)輸出中,不可能從散列值中唯一地確定輸入值。簡(jiǎn)而言之,它是一個(gè)將任意長(zhǎng)度的消息壓縮為固定長(zhǎng)度的消息摘要的函數(shù)。MD5和SHA1都是散列算法。MD5的輸出是128位,SHA1是160位。MD5比SHA1快,SHA1比MD5強(qiáng)。
MD5校驗(yàn)和sha1、2,CRC校驗(yàn)(除了算法不同,sha比MD5更安全之外)還有什么區(qū)別?
MD5、SHA1、sha256屬于加密哈希函數(shù),算法比較復(fù)雜,參與加密算法的過(guò)程是安全的。CRC只是一個(gè)特殊的哈希函數(shù),算法比較簡(jiǎn)單。
不同的安全級(jí)別也會(huì)導(dǎo)致輸出長(zhǎng)度
常見(jiàn)的CRC32只輸出32位
MD5輸出128位
SHA1輸出160位
sha256輸出256位
,這也反映了復(fù)雜性和安全性要求的不斷提高。
不同的安全要求導(dǎo)致不同的“應(yīng)用場(chǎng)景”:
使用CRC32作為密碼是不安全的。MD5可用于普通密碼,但sha256必須用于數(shù)字證書(shū)和數(shù)字簽名。
不必使用SHA1來(lái)驗(yàn)證普通數(shù)據(jù)的完整性。Sha256是一個(gè)相對(duì)復(fù)雜的算法,速度會(huì)慢得多。