加密、解密、摘要、签名、证书一文搞懂
生活随笔
收集整理的這篇文章主要介紹了
加密、解密、摘要、签名、证书一文搞懂
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概念
| 是否可逆 | 意思 | 算法舉例 | 說明 | 能力 |
| 可逆 | 加密過后的數據可以解密出來 | AES,DES,3DES等 | 對稱加密 | 快 |
| RSA,RSA2等 | 非對稱,公鑰加密私鑰解密或者反過來,用于驗簽 | 加密的數據越多越慢,RSA2目前只能加密少于密鑰長度的數據,目前的計算機還不能破解2048長度的密文 | ||
| 不可逆 | 加密過了就沒法解開了,唯一的數據加密后的結果唯一 | MD5,SHA1,SHA256,SHA512等 | 一般不稱之為加密算法,而叫摘要算法 | 快,據說google暴力破解過SHA1算法了 |
從普通加密解密到證書的過程
以服務端S到客戶端C的單向通信舉例
- 對稱加密存在的問題是C和S怎么傳鹽,無論放在互聯網的任何地方,鹽被偷了,又知道你們的加密算法,肯定能破解。
- 不可逆加密,數據就失去可讀性,C和S得到不認識的數據,倒是可以用于驗簽,但是這么干不是吃飽了撐的?
- 從真實數據到證書的過程:
-
一般加密通信的流程(比如銀行)
以上說的是S到C的單向通信,S端需要解密和驗簽,C端同樣,所以流程是這樣的。
- C生成自己的公鑰和私鑰(比如用openSSL工具生成,支付寶平臺可以在線生成),S生成自己的公鑰和私鑰,S另外再生成鹽(用于摘要的鹽,不是對稱加密的鹽),然后C在S的后臺管理系統注冊登錄,上交自己的公鑰,C同時獲得S的鹽和公鑰。因為C是在S的系統里獲取的,相當于在S的系統里把自己的公鑰手寫進去和把S的公鑰和鹽手抄下來,沒有網絡傳輸,所以還是安全的。
- 然后C和S通信或者S向C通信的時候就用相同的摘要算法(這個算法C和S線下商定)對明文+鹽進行摘要,然后用自己的私鑰對明文和摘要(一般是直接拼接字符串)加密,即生成簽名,然后就可以把摘要+簽名(統稱包)在網絡上傳輸。對方取得包之后用自己的私鑰解開,得到明文和摘要,再用明文+鹽生成摘要對比一下對方傳過來的摘要,即驗簽,對的上得話說明數據沒被篡改,安全,就可以用明文進行自己的工作了。
總結
以上是生活随笔為你收集整理的加密、解密、摘要、签名、证书一文搞懂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记一个mysql分页查询优化试验
- 下一篇: 大亚湾临深房价最新消息合生紫悦府是现房吗