• 【JDK8】Java8 新增BASE64加解密API


    什么是Base64编码?

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法 基于64个字符A-Z,a-z,0-9,+,/的编码方式,

    是一种能将任意二进制数据用64种字元组合成字符串串的方法,而这个二进制数据和字符串串资料料之间是可以互相转换的,在实际应用上,Base64除了了能将二进制数据可视化之外,

    也常用来表示字串串加密过后的内容

    1.早期java要中使用Base64

      -使用JDK里里sun.misc套件下的BASE64Encoder和BASE64Decoder这两个类

    BASE64Encoder encoder = new BASE64Encoder();
    BASE64Decoder decoder = new BASE64Decoder();
    String text = "湖南省长沙市";
    byte[] textByte = text.getBytes("UTF-8");
    //编码
    String encodedText = encoder.encode(textByte);
    System.out.println(encodedText);
    //解码
    System.out.println(new String(decoder.decodeBuffer(encodedText),
    "UTF-8"));

      缺点:编码和解码的效率⽐比较差,公开信息说以后的版本会取消这个方法

      Apache Commons Codec有提供Base64的编码与解码 缺点:是需要引用Apache Commons Codec

    2.JDK8之后使用API

      Jdk1.8的java.util包中,新增了了Base64的类
      好处:不用引包,编解码销量量远⼤大于 sun.misc 和 Apache Commons Codec

    Base64.Decoder decoder = Base64.getDecoder();
    Base64.Encoder encoder = Base64.getEncoder();
    String text = "湖南省长沙市";
    byte[] textByte = text.getBytes("UTF-8");
    //编码
    String encodedText = encoder.encodeToString(textByte);
    System.out.println(encodedText);
    //解码
    System.out.println(new String(decoder.decode(encodedText), "UTF-
    8"));
  • 相关阅读:
    第12组 Beta冲刺(2/5)
    第12组 Beta冲刺(1/5)
    第12组 Alpha事后诸葛亮
    第12组 Alpha冲刺(6/6)
    第12组 Alpha冲刺(5/6)
    第12组 Alpha冲刺(4/6)
    第12组 Alpha冲刺(3/6)
    第12组 Alpha冲刺(2/6)
    Why I start blogging.
    第二十章 更新和删除数据
  • 原文地址:https://www.cnblogs.com/july-sunny/p/11716786.html
Copyright © 2020-2023  润新知