JAVA安全編碼規範
阿新 • • 發佈:2019-05-13
空串或空物件判斷
- 空字串的判斷一般都用StringUtils.isEmpty()方法,判斷集合是否為空用CollectionUtills
- 比較物件或字串,已知物件.equals(傳入物件)
- 隨機數,計算機中沒有現實意義上的隨機數,在入門時常用為Math.random(int seed)方法,他會返回一個0~1之間的double型數字。然而當seed的數量一致時,每次生成的隨機數都是一樣的,即
for (int i = 0;i<10;i++){ System.out.print(Math.random(2)); } for (int i = 0;i<10;i++){ System.out.print(Math.random(2)); }
這兩個迴圈生成同樣的隨機數,故稱偽隨機數。開發中用java.security.secureRandom類來生成強隨機數。 4. 有關金額這種精度要求很高的四則運算需要用BigDecimal類,提供了加減乘除,四捨五入等多種運算,防止基本資料型別造成的精度丟失。
敏感資料加密
- 網路協議上,https比http好:具體好在哪。。嗯 多了s,加密協議
- 公鑰和私鑰~
- java程式報錯時,不能在網頁上輸出Exception資訊,攔截所有異常跳統一介面,防止暴露系統資訊。
- 執行緒同步物件構造私有並final,sychonized或lock,防止用例項鎖控制靜態變數
- 資訊傳輸 加salt鹽,MD5,非對稱加密等。
- 用SSLSOCKET (有SSL安全協議)代替SOCKET,
- 關鍵欄位可以加上@Transient修飾,編譯時跳過該屬性
資訊保安攻防
- sql注入、OS命令寫入、java執行命令列
====以上都為即興發揮,不對