基於aes的加解密方案

2021-09-02 21:22:21 字數 962 閱讀 7034

對前端上送的報文進行解密和驗籤

1、前端上送的報文先進行整體加密,然後把整體加密的資料作為encodefieldvals的值;同時前端一起上送到後端的資料報括整體加密的aeskey

前端請求後端的例子:

2、後端獲取encodefieldvals和aeskey的值,使用aeskey對encodefieldvals進行整體解密,整體解密後encodefieldvals的資料格式為json格式。

解密後資料格式如下:

3、驗籤,整體解密後的json有個字段signtrue,該字段是前端對資料的簽名;把前端傳到後台的所有key值進行排序,然後把除了key為signtrue和encodefieldvals的所有可以按如下格式:

fieldname1=fieldvalue1&fieldname2=fieldvalue2……

組裝成字串;進行簽名後與signtrue進行比較,如果相等說明驗籤成功;否則驗籤失敗。

4、單字段加密,整體解密加密後的json資料裡,有部分敏感資訊字段進行了加密,已經加密的字段有encryptfields指定,以英文逗號分隔。把這些欄位的值拿到進行單字段解密。

流程圖:

[img]

[img]

對返回前端的報文進行加密和加簽

1、如果配置了全部加密,則獲取返回前端的資料進行全部加密,並把加密的資料作為encodefieldvals的值返回

2、獲取返回前端的資料根據配置的字段對需要加密的單字段進行加密,並把加密的資料作為encodefieldvals的值返回前端,同時返回的json中包含encryptfields標識哪些欄位做了單字段加密處理。

,signtrue : "asfdsafax3134134912341241wq",

encryptfields:"identityid,namename"

}3、返回加密後的資料到前端

流程圖:

[img]

[img]

[img]

基於openssl的AES加解密

對於加解密,企業常用的有aes和rsa,它們分別是對稱加解密演算法和非對稱加解密演算法的代表,這裡主要封裝了php的一套基於openssl的aes加解密實現類 created by phpstorm.user 小小徐 date 2019 4 21 time 18 11 class baseaes 校...

AES對稱加解密

python實現aes對稱加解密 關於aes對稱加密的概念網上很多,在此不在贅述,直接上 import base64 from crypto.cipher import aes aes加密解密工具類 資料塊128位 key 為16位 iv 為16位 aes加密模式為cbc 填充 pkcs7paddi...

AES 對稱加解密

1.生成aes key aes根據密碼生成key param password return public static key createkey string password catch exception e return null 2.aes加密 ecb模式 aes加密操作,使用ecb模式...