开发者

Java Base64 加密与解密示例代码

开发者 https://www.devze.com 2022-12-13 10:31 出处:网络 作者: 吳名氏
目录一、Java 8 基本 Base64二、Java 8 URL 加密三、Java 8 MIME(Multipurpose Internet Mail Extensions) 加密四、总结一、Java 8 基本 Base64
目录
  • 一、Java 8 基本 Base64
  • 二、Java 8 URL 加密
  • 三、Java 8 MIME(Multipurpose Internet Mail Extensions) 加密
  • 四、总结

一、Java 8 基本 Base64

        基本的加密尽量保持简单,加密输入字符串没有增加任何换行符。输出被映射到“A-Za-z0-9+/”字符集中,解密从该字符集中解析为任意字符

        加密一个简单字符串,代码如下:

String originalInput = "test input";
String encodedString = Base64.getEncoder().encodeToString(originalInput.getBytes());

        解密代码如下:

byte[] decodedBytes = Bajavascriptse64.getDecoder().decode(encodedString);
String decodedString = new String(decodedBytes);

二、Java 8 URL 加密

        URL加密和上述基本加密类似,它使用URL和文件名安全Base64字母表(没有‘+’和&ls开发者_Js入门quo;/’,增加‘-’和‘_’),不添加任何换行隔,代码如下:

String originalUrl = "https://www.google.co.nz/?gfe_rd=cr&ei=javascriptdzbFV&gws_rd=ssl#q=java";
String encodedUrl = Base64.getUrlEncoder().encodeToString(www.devze.comoriginalURL.getBytes());

        解密方式一致——getUrlDecoder() 工具方法返回java.util.Base64.Decoder ,然后解密URL,代码如下:

byte[] decodedBytes = Base64.getUrlDecoder().decode(encodedUrl);
String decodedUrl = new String(decodedBytes);

三、Java 8 MIME(Multipurpose Internet Mail Extensions) 加密

        首先生成一些基本MIME输入数据用于加密:

private static StringBuilder getMimeBuffer() {
    StringBuilder buffer = new StringBuilder();
    for (int count = 0; count < 10; ++count) {
        buffer.append(UUID.randomUUID().toString());
    }
    return buffer;
}

        MIME加密工具生成Base64加密输出,输出被映射到“A-Za-z0-9+/”字符集中,编码输出必须以每行不超过76个字符的形式表示,并使用后面跟着的回车符’\r’和换行符’\n’为分隔符,代码如下:

StringBuilder buffer = getMimeBuffer();
byte[] encodedAsBytes = buffer.toString().getBytes();
String encodedMime = Base64.getMimeEncoder().encodeToString(encodedAsBytes);

        getMimeDecoder() 工具方法返回java.util.Base64.Decoder 用于解密过程:

byte[] decodedBytes = Base64.getMimeDecoder().decode(encodedMime);
String decodedMime = new String(decodedBytes);

四、总结

        本文介绍了java中Base64加密和解密的基本用法,使用java 8 新引入的API。

        另外还有其他库实现类似功能&mdash编程客栈;—java.XML.bind.DataTypeConverter 提供的 printHexBinary 和 parseBase64Binary。

到此这篇关于Javaandroid Base64 加密与解密的文章就介绍到这了,更多相关Java Base64 加密与解密内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号