1. 程式人生 > >不要使用sun.misc.BASE64Encoder

不要使用sun.misc.BASE64Encoder

不要使用sun.misc.BASE64Encoder

一直以來Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的

這次換了JDK後發現提示找不到該類,網上有辦法說重新配置jre就行了,但事實上不是這麼簡單的,在我測試後發現,這是要看配置的jre的型別是execution environment(執行環境),還是alternate jre(替代jre)

這兩種方法中,如果是第一種就不行,因為是執行環境,也就是不會含JDK的一些額外類,rt.jar中的很多包都會因為jre與jdk許可權不同而導致被限定許可權,其中就包含了sun包。

如果是第二種方法,即JDK替代jre,這就沒問題,因為使用的是jdk的許可權,所以不會報這類的錯誤。

事實上,這兩個方法都是sun公司的內部方法,並沒有在java api中公開過,所以使用這些方法是不安全的,將來隨時可能會從中去除,所以相應的應該使用替代的物件及方法

如:org.apache.commons.codec.binary.Base64類

原部落格地址:http://fableking.iteye.com/blog/1426410