【Java/加解密】不算加密的加密-base64加解密(使用Java8的Base64实现)
前篇讲述了使用Apache的Codec来进行Base64加解密的情况,这回来看直接使用JDK1.8的Base64方案。
代码:
import java.nio.charset.StandardCharsets; import java.util.Base64; public class Base64_Test { public static void main(String[] args) { String originalText="Let’s Build a Giant Airship 青海长云暗雪山"; System.out.println("原文=\t"+originalText); // 原文数组 byte[] byteContent = originalText.getBytes(StandardCharsets.UTF_8); // 经base64“加密”后的数组 byte[] encodedArr=Base64.getEncoder().encode(byteContent); // 供传递的“密文” String cipheredTxt=new String(encodedArr,StandardCharsets.UTF_8); System.out.println("密文=\t"+cipheredTxt); // 将收到的“密文”用base64“解密” byte[] decodedArr=Base64.getDecoder().decode(cipheredTxt); // 最终结果 String cipherTxt=new String(decodedArr,StandardCharsets.UTF_8); System.out.println("解密后=\t"+cipherTxt); } }
输出:
原文= Let’s Build a Giant Airship 青海长云暗雪山 密文= TGV04oCZcyBCdWlsZCBhIEdpYW50IEFpcnNoaXAg6Z2S5rW36ZW/5LqR5pqX6Zuq5bGx 解密后= Let’s Build a Giant Airship 青海长云暗雪山
与前篇两相对比以下,发现生成的密文是不一样的,也就是说两种实现使用的符号映射表是不一样的,看来codec和JDK1.8的实现不能互通。即codec加密的JDK1.8不能解,反之亦然,这点值得注意。
END
分类:
Java.加密解密
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2019-10-05 [MyBatis]完整MyBatis CRUD工程
2019-10-05 [log4j]Error:The method getLogger(String) in the type Logger is not applicable for the arguments
2019-10-05 [java]将秒数转化为“天时分秒”的格式(转贴+修改)
2019-10-05 [Java]简单计算下一段Java代码段运行了多少秒
2019-10-05 【log4j】log4j.properties 文件示例
2019-10-05 [MyBatis]最简MyBatis工程
2019-10-05 [Java]给指定时间加上十秒