java代碼加密 Java怎么給WebService加密?
Java怎么給WebService加密?1.1.1驗(yàn)證碼加密接口中的驗(yàn)證碼參數(shù)需要通過des Base64加密,1.1.2消息簽名平臺接入端分配一個(gè)CP碼和csecret。雙方根據(jù)以下規(guī)則簽署消息:l
Java怎么給WebService加密?
1.1.1驗(yàn)證碼加密接口中的驗(yàn)證碼參數(shù)需要通過des Base64加密,1.1.2消息簽名平臺接入端分配一個(gè)CP碼和csecret。雙方根據(jù)以下規(guī)則簽署消息:l步驟1:簽名源字符串的構(gòu)造規(guī)則:根據(jù)以下規(guī)則組織請求參數(shù):“a=x&B=y&C=Z&…”每個(gè)參數(shù)按參數(shù)名稱的自然數(shù)順序排列。(按字典順序排列)l步驟2:使用hmac-sha1加密算法對步驟1中的源字符串和csecret進(jìn)行加密;l步驟3:用Base64對步驟2中加密的字符串進(jìn)行編碼。簽名密鑰(secret):zhuandefghijklmnopqrstuvwx/**簽名后返回JSON對象**@param JSON original JSON object*@param secret key*@return*@throws exception*/public static string dosign(jsonobjson,string secret)引發(fā)異常{string basestr=“”(對象鍵:newtreeset)(json.keySet()){baseStr=(“&”鍵“=”json.get獲?。╧ey))}SecretKeySpec key=newSecretKeySpec(機(jī)密.getBytes(“UTF-8”),“HmacSHA1”)Mac=Mac.getInstance實(shí)例(“HmacSHA1”)mac.init公司(鍵)字節(jié)[]字節(jié)=mac.doFinal公司( baseStr.substring(1) .getBytes(“UTF-8”)json.put文件(“signature”,新字符串(Base64.encodeBase64(bytes)))返回json.toString()}
對于暴露于公網(wǎng)的HTTP接口,如何保證安全,我個(gè)人的感受主要有以下幾點(diǎn):
對于傳輸數(shù)據(jù)的有效性驗(yàn)證,防止非法攻擊等
傳輸內(nèi)容加密,防止攔截
接口調(diào)用設(shè)置單位時(shí)間閾值,調(diào)用過高,返回異常