1. 程式人生 > >JAVA安全編碼規範

JAVA安全編碼規範

空串或空物件判斷

  1. 空字串的判斷一般都用StringUtils.isEmpty()方法,判斷集合是否為空用CollectionUtills
  2. 比較物件或字串,已知物件.equals(傳入物件)
  3. 隨機數,計算機中沒有現實意義上的隨機數,在入門時常用為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類,提供了加減乘除,四捨五入等多種運算,防止基本資料型別造成的精度丟失。

敏感資料加密

  1. 網路協議上,https比http好:具體好在哪。。嗯 多了s,加密協議
  2. 公鑰和私鑰~
  3. java程式報錯時,不能在網頁上輸出Exception資訊,攔截所有異常跳統一介面,防止暴露系統資訊。
  4. 執行緒同步物件構造私有並final,sychonized或lock,防止用例項鎖控制靜態變數
  5. 資訊傳輸 加salt鹽,MD5,非對稱加密等。
  6. 用SSLSOCKET (有SSL安全協議)代替SOCKET,
  7. 關鍵欄位可以加上@Transient修飾,編譯時跳過該屬性

資訊保安攻防

  1. sql注入、OS命令寫入、java執行命令列

====以上都為即興發揮,不對