BASE64Encoder及BASE64Decoder问题解答和使用策略

两个方法都是sun公司的内部方法,并没有在java api中公开过,所以使用这些方法是不安全的,将来随时可能会从中去除。

所以相应的应该使用策略有下面两种:

1.使用替代类

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

官方地址:http://commons.apache.org/codec/

官方API:http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Base64.html

简单的使用方法如下:

  1. /** 
  2.      * 解密 
  3.      *  
  4.      * @param pwd 
  5.      * @return 
  6.      * @see [类、类#方法、类#成员] 
  7.      */  
  8.     public static String decodeStr(String pwd)  
  9.     {  
  10.         Base64 base64 = new Base64();  
  11.         byte[] debytes = base64.decodeBase64(new String(pwd).getBytes());  
  12.         return new String(debytes);  
  13.     }  
  14.   
  15.     /** 
  16.      * 加密 
  17.      *  
  18.      * @param pwd 
  19.      * @return 
  20.      * @see [类、类#方法、类#成员] 
  21.      */  
  22.     public static String encodeStr(String pwd)  
  23.     {  
  24.         Base64 base64 = new Base64();  
  25.         byte[] enbytes = base64.encodeBase64Chunked(pwd.getBytes());  
  26.         return new String(enbytes);  
  27.     } 
2. 导入BASE64Encoder及BASE64Decode的源码,这种方法的好处是不需要改动原有的代码

源码链接http://pan.baidu.com/s/1eSafihG


你可能感兴趣的:(java,base64)