加密演算法分為:
1.對稱加密
常見的有AES,DES,3DES
2.非對稱加密
常見的有RSA,ECC,DSA
3.線性散列
常見的有MD5,SHA1,SHA256,HMAC
不同也是應用的時候怎么選:
1.對稱加密演算法使用同一個密匙加密和解密,速度快,適合給大量資料加密,對稱加密客戶端和服務端使用同一個密匙,存在被抓包破解的風險,
2.非對稱加密演算法使用公鑰加密,私鑰解密,私鑰簽名,公鑰驗簽,安全性比對稱加密高,但速度較慢,非對稱加密使用兩個密匙,服務端和客戶端密匙不一樣,私鑰放在服務端,黑客一般是拿不到的,安全性高,
3.線性散列一般是做防篡改簽名比較多,因為它們輸入任意長度的串都會得到一個固定長度的串,比如位元幣中就是用到了SHA256,還有我們早期的互聯網系統的密碼都是MD5加密保存,登錄的時候也只是把用戶輸入的密碼散列后再與庫中的密碼對比,防止資料庫泄漏后明文的密碼造成的損失,比如著名的csdn用戶庫被泄露事件,
偉大的國密單獨說(點贊以王小云院士為首的團隊):
對稱:SM1 SM4
SM1:其加密強度與AES相當,該演算法不公開,呼叫該演算法時,需要通過加密芯片的介面進行呼叫,
SM4:無線局域網標準的分組資料演算法,對稱加密,密鑰長度和分組長度均為128位,
非對稱:SM2
SM2:基于ECC,該演算法已公開,由于該演算法基于ECC,故其簽名速度與秘鑰生成速度都快于RSA,ECC 256位(SM2采用的就是ECC 256位的一種)安全強度比RSA 2048位高,但運算速度快于RSA,
訊息摘要: SM3
SM3 :可以用MD5作為對比理解,該演算法已公開,校驗結果為256位,
建議用國密,據說政府相關的專案強制性要求使用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/54134.html
標籤:其他
上一篇:Android Studio:我已經配置了ANDROID_SDK_ROOT環境變數,在C盤,為什么還會有提示,大佬們,我應該怎么做?
