一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - Java實(shí)現(xiàn)BASE64編碼和解碼的方法

Java實(shí)現(xiàn)BASE64編碼和解碼的方法

2020-07-04 10:39hw1287789687 JAVA教程

本篇文章主要介紹了Java實(shí)現(xiàn)BASE64編碼和解碼的方法,BASE64編碼通常用于轉(zhuǎn)換二進(jìn)制數(shù)據(jù)為文本數(shù)據(jù),有需要的可以了解一下。

BASE64和其他相似的編碼算法通常用于轉(zhuǎn)換二進(jìn)制數(shù)據(jù)為文本數(shù)據(jù),其目的是為了簡(jiǎn)化存儲(chǔ)或傳輸。更具體地說(shuō),BASE64算法主要用于轉(zhuǎn)換二進(jìn)制數(shù)據(jù)為ASCII字符串格式。Java語(yǔ)言提供了一個(gè)非常好的BASE64算法的實(shí)現(xiàn),。本文將簡(jiǎn)要地講述怎樣使用BASE64以及它是怎樣工作的。

Base64的作用:主要不是加密,它主要的用途是把一些二進(jìn)制數(shù)轉(zhuǎn)成普通字符用于網(wǎng)絡(luò)傳輸。由于一些二進(jìn)制字符在傳輸協(xié)議中屬于控制字符,不能直接傳送需要轉(zhuǎn)換一下就可以了。

第一種方式:
通過(guò)反射使用java 中不對(duì)外公開(kāi)的類(lèi):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/***
   * encode by Base64
   */
  public static String encodeBase64(byte[]input) throws Exception{
    Class clazz=Class.forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");
    Method mainMethod= clazz.getMethod("encode", byte[].class);
    mainMethod.setAccessible(true);
     Object retObj=mainMethod.invoke(null, new Object[]{input});
     return (String)retObj;
  }
  /***
   * decode by Base64
   */
  public static byte[] decodeBase64(String input) throws Exception{
    Class clazz=Class.forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");
    Method mainMethod= clazz.getMethod("decode", String.class);
    mainMethod.setAccessible(true);
     Object retObj=mainMethod.invoke(null, input);
     return (byte[])retObj;
  }

第二種方式:

使用commons-codec.jar

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
   * @param bytes
   * @return
   */
  public static byte[] decode(final byte[] bytes) {
    return Base64.decodeBase64(bytes);
  }
 
  /**
   * 二進(jìn)制數(shù)據(jù)編碼為BASE64字符串
   *
   * @param bytes
   * @return
   * @throws Exception
   */
  public static String encode(final byte[] bytes) {
    return new String(Base64.encodeBase64(bytes));
  }

 第三種方式:
 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
  * 編碼
  * @param bstr
  * @return String
  */
  public static String encode(byte[] bstr){ 
  return new sun.misc.BASE64Encoder().encode(bstr); 
  
  
  /**
  * 解碼
  * @param str
  * @return string
  */
  public static byte[] decode(String str){ 
  byte[] bt = null
  try
    sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder(); 
    bt = decoder.decodeBuffer( str ); 
  } catch (IOException e) { 
    e.printStackTrace(); 
  
  
    return bt; 
  

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天天干天天日天天射天天操毛片 | 亚洲理论视频 | 美国69xxxx59 | 美女牲交毛片一级视频 | 私人家庭影院5577 | 男女一级簧色带 | 四虎在线视频免费观看 | 日本大片免a费观看在线 | 91嫩草国产在线观看免费 | 边摸边吃奶边做爽gif动态图 | 免费被靠视频动漫 | 亚洲免费视频一区 | 精品视频中文字幕 | 日本午夜大片免费观看视频 | 亚洲精品一区二区三区在线看 | 欧美精品国产一区二区三区 | 色偷偷亚洲综合网亚洲 | 日韩欧美a | 国产主播精品在线 | 欧美亚洲国产精品久久久 | 午夜家庭影院 | 日韩欧美一区二区三区免费观看 | 欧美摘花破处 | 翁熄性放纵交换01 | 亚洲一二区视频 | 40分钟在线观看免费 | 99精品在线免费 | 王雨纯 羞羞 | 羞羞色男人的天堂伊人久久 | 四虎884aa永久播放地址http | 青青青手机视频在线观看 | 涩涩国产精品福利在线观看 | 动漫人物差差插曲漫画 | 扒开尿口 | 98pao强力打造高清免费 | 毛片 ftp | h高潮娇喘抽搐 | 久久久久久久伊人电影 | 99在线精品免费视频 | 亚洲精品在线免费看 | chinesespanking网站|