第壹個。基礎
Base是用於在網絡上傳輸位字節代碼的最常用的編碼方法之壹。您可以查看RFC~RFC,其中有MIME的詳細規範。基本編碼可用於在HTTP環境中傳輸長的標識信息。例如,在Hibernate(壹個Java持久性系統)中,Base用於將壹個長的唯壹標識符(通常是位的UUID)編碼成壹個字符串,該字符串用作HTTP表單和HTTP GET URL中的參數。在其他應用程序中,通常需要將二進制數據編碼成適合放入URL的形式(包括隱藏的表單字段)。此時,基本編碼的使用是不可讀的,也就是說,肉眼將無法直接看到編碼的數據。
第二個。醫學博士
MD(消息摘要算法)用於確保信息傳輸的完整性和壹致性。它是計算機中廣泛使用的哈希算法之壹(也翻譯為摘要算法和哈希算法),主流編程語言已普遍由MD實現。將數據(如漢字)計算為另壹個固定長度的值是哈希算法的基本原理。MD的前身是MD,MD,MD..廣泛應用於加密和解密技術中,常用於文件驗證。檢查?無論文件有多大,它都可以在MD後生成壹個唯壹的MD值。例如,當前的ISO檢查是MD檢查。怎麽用?當然MD的值是通過MD傳遞ISO產生的,壹般下載linux-ISO的朋友都見過下載鏈接旁邊有壹個帶MD的字符串。用於驗證文件是否壹致。
MD算法具有以下特點:
可壓縮性:對於任意長度的數據,計算出的MD值長度是固定的。
易於計算:從原始數據中很容易計算出MD值。
反修改:如果您對原始數據進行任何更改,即使您只修改字節,獲得的MD值也會有很大不同。
弱防碰撞:已知原始數據及其MD值,很難找到具有相同MD值的數據(即偽造數據)。
強防碰撞:找到兩個不同的數據並使它們具有相同的MD值是非常困難的。
MD的功能是在用數字簽名軟件簽署私鑰之前,將大容量信息“壓縮”為安全格式(即將任意長度的字節字符串轉換為壹定長度的十六進制數字字符串)。除了MD,sha-,RIPEMD和哈弗也很有名。
第三種。恒星時角
安全哈希算法主要適用於數字簽名標準DSS中定義的數字簽名算法DSA。對於長度小於位的消息,SHA將生成壹個壹位的消息摘要。經過加密專家多年的開發和改進,該算法已日益完善並得到廣泛應用。該算法的思想是接收壹段明文,然後以不可逆的方式將其轉換為壹段密文(通常較小)。它也可以簡單地理解為取壹系列輸入代碼(稱為預映射或信息)並將其轉換為具有較短長度和固定位數的輸出序列的過程,即哈希值(也稱為信息摘要或信息認證碼)。散列函數值可以說是明文的壹種“指紋”或“摘要”,因此散列值的數字簽名可以視為明文的數字簽名。
SHA-與MD的比較
因為兩者都源於MD,所以SHA-和MD彼此非常相似。相應地,它們的強度和其他特征相似,但也有壹些差異:
防止強制攻擊的安全性:最顯著和最重要的區別是SHA- digest比MD digest長。使用強力技術,生成任何消息以使其摘要等於給定消息的摘要的難度對於MD是數量級的運算,對於SHA是數量級的運算。這樣,SHA-具有更大的力量進行強制攻擊。
密碼分析的安全性:由於MD的設計,SHA-容易受到密碼分析攻擊。
速度:在相同的硬件上,SHA-的運行速度比MD慢。
第四種。HMAC
HMAC是壹種基於密鑰的哈希算法認證協議。消息認證碼的原理是使用公共函數和密鑰生成壹個固定長度的值作為認證標識符,並使用該標識符來認證消息的完整性。使用密鑰生成壹個固定大小的小數據塊,即MAC,並將其添加到消息中,然後傳輸。接收者使用與發送者共享的密鑰進行身份驗證等等。