android -------- Base64 加密解密算法
Posted zhangqie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android -------- Base64 加密解密算法相关的知识,希望对你有一定的参考价值。
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。
Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,需要解码后才能阅读。
Java8.0之前,添加Jar包
Java 8之后的作法
Java 8的java.util套件中,新增了Base64的类别,可以用来处理Base64的编码与解码,用法如下:
import java.nio.charset.StandardCharsets; public class ABase64 public static void main(String[] args) String password = "Hello 123456"; //加密 String encoded = java.util.Base64.getEncoder().encodeToString(password.getBytes(StandardCharsets.UTF_8)); //解密 String decoded = new String(java.util.Base64.getDecoder().decode(encoded), StandardCharsets.UTF_8); System.out.println(encoded); System.out.println(decoded); showBase64(); private static void showBase64() try final java.util.Base64.Decoder decoder = java.util.Base64.getDecoder(); final java.util.Base64.Encoder encoder = java.util.Base64.getEncoder(); final String text = "Hello 小笨蛋"; final byte[] textByte = text.getBytes("UTF-8"); //编码 final String encodedText = encoder.encodeToString(textByte); System.out.println(encodedText); //解码 System.out.println(new String(decoder.decode(encodedText), "UTF-8")); catch (Exception e) e.printStackTrace();
日志:
以上是关于android -------- Base64 加密解密算法的主要内容,如果未能解决你的问题,请参考以下文章