溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

基于aes的加解密方案

發(fā)布時(shí)間:2020-07-05 17:48:52 來(lái)源:網(wǎng)絡(luò) 閱讀:1166 作者:huangjinjin520 欄目:安全技術(shù)

對(duì)前端上送的報(bào)文進(jìn)行解密和驗(yàn)簽
1、前端上送的報(bào)文先進(jìn)行整體加密,然后把整體加密的數(shù)據(jù)作為encodeFieldVals的值;同時(shí)前端一起上送到后端的數(shù)據(jù)包括整體加密的aesKey
前端請(qǐng)求后端的例子:
http://127.0.0.1:8080/btoa/user/login
{
encodeFieldVals=加密數(shù)據(jù),
aesKey=整體加密的aesKey
}
2、后端獲取encodeFieldVals和aesKey的值,使用aesKey對(duì)encodeFieldVals進(jìn)行整體解密,整體解密后encodeFieldVals的數(shù)據(jù)格式為json格式。
解密后數(shù)據(jù)格式如下:
{
"deviceId" :"a123xwsdfx4554rcffffooc87",
"osVersion" : "5.1.10",
"userName" : "王五",
"password" : "a123xwsdfx4554rcffffooc87a123xwsdfx4554rcffffooc87"
"phoneNo" :"a123xwsdfx4554rcffffooc87a123xwsdfx4554rcffffooc87a123xwsdfx4554rcffffooc87",
"sex" : "男",
encryptFields : "password,phoneNo",
serverTimestamp : "1200000",
signtrue : "asfdsafax3134134912341241WQ"
}
3、驗(yàn)簽,整體解密后的json有個(gè)字段signtrue,該字段是前端對(duì)數(shù)據(jù)的簽名;把前端傳到后臺(tái)的所有key值進(jìn)行排序,然后把除了key為signtrue和encodeFieldVals的所有可以按如下格式:
fieldName1=fieldValue1&fieldName2=fieldValue2……
組裝成字符串;進(jìn)行簽名后與signtrue進(jìn)行比較,如果相等說(shuō)明驗(yàn)簽成功;否則驗(yàn)簽失敗。
4、單字段加密,整體解密加密后的json數(shù)據(jù)里,有部分敏感信息字段進(jìn)行了加密,已經(jīng)加密的字段有encryptFields指定,以英文逗號(hào)分隔。把這些字段的值拿到進(jìn)行單字段解密。

流程圖:
基于aes的加解密方案

基于aes的加解密方案
對(duì)返回前端的報(bào)文進(jìn)行加密和加簽
1、如果配置了全部加密,則獲取返回前端的數(shù)據(jù)進(jìn)行全部加密,并把加密的數(shù)據(jù)作為encodeFieldVals的值返回

2、獲取返回前端的數(shù)據(jù)根據(jù)配置的字段對(duì)需要加密的單字段進(jìn)行加密,并把加密的數(shù)據(jù)作為encodeFieldVals的值返回前端,同時(shí)返回的json中包含encryptFields標(biāo)識(shí)哪些字段做了單字段加密處理。
{
"respCode":"000000",
"respMsg":"交易成功",
"userId" : "afasfa134dfdasf",
"email" : "huang@sina.com",
"phoneNo" : "13711645814",
"nickName" : "霸王",
"accountInfo" : {
"accountNo" : "A1237897029",
"identityId" :"440902198609228090",
"nameName" : "趙六",
"validateDate" :"20101010-20221010"
},
signtrue : "asfdsafax3134134912341241WQ",
encryptFields:"identityId,nameName"
}
3、返回加密后的數(shù)據(jù)到前端
流程圖:
基于aes的加解密方案
基于aes的加解密方案
喜歡就分享關(guān)注公眾號(hào)
基于aes的加解密方案

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI