国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java BASE64Encoder詳細介紹及簡單實例

2019-11-26 13:11:54
字體:
來源:轉載
供稿:網友

java  BASE64Encoder詳解

Base64是網絡上最常見的用于傳輸8Bit字節代碼的編碼方式之一,在發送電子郵件時,服務器認證的用戶名和密碼需要用Base64編碼,附件也需要用Base64編碼。

Base64要求把每三個8Bit的字節轉換為四個6Bit的字節(3*8 = 4*6 = 24),然后把6Bit再添兩位高位0,組成四個8Bit的字節,也就是說,轉換后的字符串理論上將要比原來的長1/3。

原文的字節最后不夠3個的地方用0來補足,轉換時Base64編碼用=號來代替。這就是為什么有些Base64編碼會以一個或兩個等號結束的原因,但等號最多只有兩個。

Java代碼實現:

BASE64Encoder和BASE64Decoder兩個方法都是sun公司的內部方法,并沒有在Java api中公開過,所以使用這些方法是不安全的,將來隨時可能會從中去除,所以相應的應該使用替代的對象及方法

Eclipse中不到BASE64Encoder的解決方法:按照如下方法設置Eclipse導入%JAVA_HOME%/jre/lib目錄下的rt.jar包即可,Project->Properties,選擇Java Build Path設置項,再選擇Libraries標簽,Add External Jars添加%JAVA_HOME%/jre/lib/rt.jar就可以使用啦!

Base64.java

<span style="font-family:Times New Roman;font-size:14px;">package cn.hncu.encoder; import java.io.IOException; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;  public class Base64 {   public static void main(String[] args) {     try {     String name="我愛你";     String pwd="你卻不知道。";     BASE64Encoder en=new BASE64Encoder();     name=en.encode(name.getBytes("utf-8"));//5oiR54ix5L2g     pwd=en.encode(pwd.getBytes("utf-8"));//5L2g5Y205LiN55+l6YGT44CC     System.out.println(name+","+pwd);          BASE64Decoder den=new BASE64Decoder();     name=new String(den.decodeBuffer(name),"utf-8");     pwd=new String(den.decodeBuffer(pwd),"utf-8");     System.out.println(name+","+pwd);     } catch (IOException e) {       e.printStackTrace();     }   } } </span> 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂伦春自治旗| 宕昌县| 茂名市| 兖州市| 察哈| 名山县| 南雄市| 五家渠市| 乐陵市| 苗栗市| 四川省| 上栗县| 东方市| 碌曲县| 永州市| 会同县| 大厂| 鸡东县| 荆州市| 泰兴市| 乌审旗| 泰州市| 股票| 香河县| 双桥区| 获嘉县| 邳州市| 海晏县| 竹溪县| 德钦县| 五家渠市| 霍城县| 普兰县| 昭通市| 偃师市| 通许县| 华蓥市| 汉源县| 牟定县| 扶沟县| 巴中市|