密碼編譯演算法排排隊

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

最近在看 Golang 的標準庫,看到 crypto 中的 aesdesarssha 等等,頓時覺得熟悉又陌生,平時開發時遇到需要加密解密的時候總是看看文檔 copy 過來,不求甚解,是時候把他們排排隊,分分類了。

對稱式加密

同一個密鑰

常見演算法:DES、3DES、DESX、RC4、RC5、RC6和AES

DES (Data Encryption Standard) 類:最早的一批密碼編譯演算法,主要用於金融和嵌入式裝置,但由於用密鑰(56位)過短,所以安全性受到質疑。

註:其實,編程的世界裡非常注重新命名,尤其是協議和規範,所以我們不能只看縮寫,還是得瞭解一下縮寫代表的是哪幾個單詞。

AES (Advanced Encryption Standard) 從名字上可以看出是更為安全的加密方式。

RC (Rivest Cipher) 類:Ron Rivest 是美國密碼學家,此類是流密碼編譯演算法,密鑰長度可變。

非對稱式加密

雙方用不同的秘鑰,兩個秘鑰有一定的數學關係

常見演算法:RSA、DSA、ECC

RSA:由於其 非常重要,所以以三位發明者的名字首字母命名。
DSA (Digital Signature Algorithm): 簽名演算法。
ECC (Elliptic Curve Digital Signature Algorithm): 行動裝置常用演算法。

散列加密

產生固定長度摘要,無法復原

常見演算法:MD2、MD4、MD5、SHA、SHA1、SHA2、SHA256、SHA512、HMAC、HMAC-SHA1

MD (Message-Digest): 訊息摘要類,散列演算法,加密後是定長字串,一般用於資料一致性檢查,MD後面跟的數字代表版本升級。

SHA (Secure Hash Algorithm): 安全散列演算法類,由 MD 類密碼編譯演算法演化。

注意:MD5 和 SHA 都已被破解,當然破解不代表沒啥用而是存在被破解的可能性。

HMAC (Keyed-hash message authentication code): 訊息散列認證碼,需要一個秘鑰,資料加密的同時可以驗證身份。

而 HMAC-SHA1 HMAC-SHA256 這些無非是將用於 HAMC 的秘鑰先進行 SHA 加密再使用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.