加密算法
共有18款Java 代碼混淆和加密開源軟件
Java 字節碼加密工具 ClassFinal
全自動保護JAVA程序
什麼是哈希(Hash)
常見加密算法及常見加密算法原理
淺談常見的七種加密算法及實現
存在問題:現集團接口大多用名文傳遞信息,僅僅用MD5進行加簽驗籤,且多個項目多個版本,有些代碼比較陳舊,方案也不安全
爲了增強接口安全,統一規範,偏於維護管理,現計劃開發一個集團通用的接口安全管理插件,配合集團權限系統使用
Hybrid encryption plugin(混合加密插件)
開發目標:安全,易用,可配置,多選
採用算法(可選)
信息摘要:MD5+salt(16-32位)或 SHA1
數據加密:AES128-256(隨機加密密鑰)
密鑰(AES128的密鑰)加密:RSA
A持有 A的私鑰,鹽,B的公鑰
B持有 B的私鑰,鹽,A的公鑰
假如現在 Alice 向 Bob 傳送數字信息,爲了保證信息傳送的保密性、真實性、完整性和不可否認性,需要對傳送的信息進行數字加密和簽名,其傳送過程爲:
1.Alice 準備好要傳送的數字信息(明文);
2.Alice 對數字信息進行哈希運算,得到一個信息摘要;
3.Alice 用自己的私鑰對信息摘要進行加密得到 Alice 的數字簽名,並將其附在數字信息上;
4.Alice 隨機產生一個加密密鑰,並用此密碼對要發送的信息進行加密,形成密文;
5.Alice 用 Bob 的公鑰對剛纔隨機產生的加密密鑰進行加密,將加密後的 DES 密鑰連同密文一起傳送給Bob;
6.Bob 收到 Alice 傳送來的密文和加密過的 DES 密鑰,先用自己的私鑰對加密的 DES 密鑰進行解密,得到 Alice隨機產生的加密密鑰;
7.Bob 然後用隨機密鑰對收到的密文進行解密,得到明文的數字信息,然後將隨機密鑰拋棄;
8.Bob 用 Alice 的公鑰對 Alice 的數字簽名進行解密,得到信息摘要;
9.Bob 用相同的哈希算法對收到的明文再進行一次哈希運算,得到一個新的信息摘要;
10.Bob 將收到的信息摘要和新產生的信息摘要進行比較,如果一致,說明收到的信息沒有被修改過。
其他
提供通用的util:比如密碼加密存儲,升級爲HmacSHA512; 其他 敏感信息加密存儲,解密 及加***展示等
提供spring 切面或攔截器代碼示例等
……