共用方式為


哈希和簽章演算法

下列演算法會計算哈希數字簽名。 Microsoft基底、強式和增強式密碼編譯提供者都支持這些演算法。 這些演算法的內部詳細數據超出本檔的範圍。 如需其他來源的清單,請參閱 密碼編譯的其他檔。

演算法 描述
加密區塊鏈結 (CBC) MAC
Microsoft提供者所實作的其中一個演算法 CALG_MAC是區塊加密訊息驗證碼 (MAC)。 這個方法會使用區塊加密來加密基底數據,然後使用最後一個加密區塊作為 哈希 值。 用來建置 MAC 的加密演算法是建立工作階段金鑰時所指定的加密演算法。
HMAC
由Microsoft提供者實作的演算法(CALG_HMAC)。 此演算法也會使用對稱密鑰來建立哈希,但比簡單的加密區塊鏈結 (CBC) MAC 演演算法複雜。 它可以與任何一次性的密碼編譯哈希演算法搭配使用,例如 MD5 或 SHA-1。 如需詳細資訊,請參閱 建立 HMAC
MD2、MD4 和 MD5
這些哈希演算法都是由 RSA Data Security, Inc 所開發。這些演算法是循序開發。 這三個都會產生128位哈希值。 已知這三者都有弱點,而且應該只在需要時用於相容性目的。 針對新的程式代碼,我們建議使用SHA-2系列哈希。
這些演算法是眾所周知的,而且可以在任何關於密碼編譯參考中詳細檢閱。
訊息驗證碼 (MAC)
MAC 演算法類似於哈希演算法,但會使用對稱式 (會話) 金鑰來計算。 需要原始 會話金鑰 才能重新計算哈希值。 重新計算的哈希值是用來驗證基底數據未變更。 這些演算法有時稱為keyed-hash演算法。 若要查看哪些Microsoft提供者支援MAC,請參閱 Microsoft密碼編譯服務提供者
安全哈希演算法 (SHA-1)
這個哈希演算法是由 國家標準與技術 研究所(NIST)和國家安全局(NSA)開發的。 此演算法已開發成與 DSA(數位簽名演算法)或 DSS(數位簽名標準)搭配使用。 此演算法會產生160位 哈希 值。 已知 SHA-1 有弱點,而且應該只在需要時才用於相容性目的。 針對新的程式代碼,我們建議使用SHA-2系列哈希。
安全哈希演算法 - 2 (SHA-2)
這個哈希演算法是由 國家標準與技術 研究所(NIST)和國家安全局(NSA)開發為SHA-1的繼任者。 它有四個變體:SHA-224、SHA-256、SHA-384 和 SHA-512,這些變體會根據其輸出中的位數來命名。 其中,SHA-256、SHA-384 和 SHA-512 會在 Microsoft AES 密碼編譯提供者中實作。
SSL3 用戶端授權演算法
此演算法用於 SSL3 用戶端驗證。 在 SSL3 通訊協定中,MD5 哈希和 SHA 哈希的串連會使用 RSA 私鑰簽署。 CryptoAPI 2.0 和 Microsoft 基底和增強式密碼編譯提供者支援哈希類型CALG_SSL3_SHAMD5。 如需詳細資訊,請參閱 建立CALG_SSL3_SHAMD5哈希