2009/06/06

Java 密碼存取

之前程式需要儲存帳號密碼,不過發現 Java 即使 compile 成 byte code 以後密碼還是明文,serialized 以後也可以看的到,問了一下才知道怎麼處理。

處理密碼時直接在 getter() 和 setter() 做編碼和解碼,目前想用 RSA 實作:
class Password {
   String password;

   public void setPassword(String in){
      password = RSA(in);
   }

   public String getPassword(){
      return RevertFromRSA(password);
   }
}

雖然目前知道可以用 java.security.MessageDigest 物件處理,但還沒看 API 就先跑去找質數了... XD

看到「尋找大質數」以後,照網頁上面說的跑去計算 26972593-1,不過單單用 BigInteger 就跑了半個多小時,輸出時在呼叫 toString() 又跑到電腦當機......。還是決定不要太想不開 Orz


ps.
梅森求質數的方法是計算 2n-1,不過似乎不能找到「所有」的質數,但是可以比較簡單的找到更大的質數。之前求質數是用 6n ± 1 去計算,但是跑得也不快,等哪天開悟了在去衝。

3 則留言:

  1. 請問哦...
    像網站中的一些flash,有一些都可以下載下來,
    JAVA是不是就沒辦法了?

    回覆刪除
  2. 看的到絕對抓的到

    回覆刪除