一个java工程师必知的安全意识(信息传输篇)
生活随笔
收集整理的這篇文章主要介紹了
一个java工程师必知的安全意识(信息传输篇)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我們?cè)谟龅缴婕坝脩裘艽a,用戶聯(lián)系方式,身份證信息等敏感字段的時(shí)候,一般的處理方式是:
1.傳輸使用密文,拒絕明文傳輸用戶密碼,推薦明文加鹽加密,后臺(tái)再解密
比如要傳輸?shù)拿魑氖?23456的明文密碼,我們一般要做以下處理 前臺(tái):var data = "123456";1.明文加隨機(jī)鹽(隨機(jī)鹽隨機(jī)個(gè)數(shù)在加密解密時(shí)統(tǒng)一即可,這里以18位為例):var newData = randomString(18)+data;2.公鑰加密:var pwd = 公鑰加密方法(newData);具體js下載和使用可參考這里,免費(fèi)的:https://www.bootcdn.cn/jsencrypt/后臺(tái):1.私鑰解密String data = 私鑰解密方法(pwd);2.去掉前18為隨機(jī)鹽字符串截取即可 //上面的公鑰加密的樣例實(shí)現(xiàn) var 公鑰加密方法 = function(明文,公鑰) {if(公鑰 == undefined){//沒有傳公鑰就用默認(rèn)的公鑰 = 'asdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasd'}var jsencrypt = new JSEncrypt();jsencrypt.setPublicKey(公鑰);return jsencrypt.encrypt(randomString(18)+明文); } //外面使用: var olddata = '123456'; var newdata = 公鑰加密方法(olddata );2.后臺(tái)日志中禁止打印明文密碼,這時(shí)候可以用@JSONField(serialize=false)來防止打印出不想打印的屬性
@JSONField(serialize=false)是阿里的fastJson的一個(gè)注解
比如你使用JsonUtil.toJSONString(Xxx類)打印一個(gè)類的時(shí)候,又不想打印類中的某個(gè)字段,就可以在改字段上加這個(gè)注解
比如:
需要注意的是,如果這個(gè)屬性被final修飾,那么這個(gè)注解貌似是不起作用的
總結(jié)
以上是生活随笔為你收集整理的一个java工程师必知的安全意识(信息传输篇)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两个numpy取相同值_闲谈Numpy的
- 下一篇: 消息队列(5):RocketMQ