我一直在使用eclipse中的sun.misc, 使用BASE64Encoder()和BASE64Decoder(),並且必須轉向警告,因爲默認情況下訪問受限制。爲什麼sun.misc不鼓勵使用?
這些類完美地工作,但在我的工作中,我讀了很多地方,一個人不應該使用sun.misc,但通常沒有人說出正確的理由。
所以,我應該遠離sun.misc,爲什麼?
我一直在使用eclipse中的sun.misc, 使用BASE64Encoder()和BASE64Decoder(),並且必須轉向警告,因爲默認情況下訪問受限制。爲什麼sun.misc不鼓勵使用?
這些類完美地工作,但在我的工作中,我讀了很多地方,一個人不應該使用sun.misc,但通常沒有人說出正確的理由。
所以,我應該遠離sun.misc,爲什麼?
沒有承諾繼續支持這些類;它們可能會在任何發行版中從JDK中刪除而不會發出警告。另外,並不是所有的JDK都有這些類,所以你的代碼可能不能在所有平臺上運行,這違背了java「一次編譯,一次運行」哲學的意圖。
「加密」? Base64和Rot13一樣安全,那是一個人用頭往牆上跑的時候,往往會在看到它時感到困惑,但是對於其他人來說,「破解」並注意到它是微不足道的。自Java5或更高版本(JAXB軟件包)以來,在Java中支持Base64編碼器,因此實際上沒有理由使用sun/oracle interna。 – Voo 2012-07-08 00:08:28
我希望當你說「加密」時,你不是指Base64。這是一種編碼方案,而不是一種加密,並不需要破解,而只是解碼。 – oxc 2012-07-08 00:09:32
我知道。使用帶有AES的密碼將它與secretKeySpec合併,這就是我最後說的原因。 – Rayf 2012-07-08 00:14:01