网站首页 > 精选教程 正文
介绍语
本号主要是Java常用关键技术点,通用工具类的分享;以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+docker等集成框架的技术分享;datax、kafka、flink等大数据处理框架的技术分享。文章会不断更新,欢迎码友关注点赞收藏转发!
望各位码友点击关注,冲1000粉。后面会录制一些视频教程,图文和视频结合,比如:图书介绍网站系统、抢购系统、大数据中台系统等。技术才是程序猿的最爱,码友们冲啊
如果码友觉得代码太长,可以从头到尾快速扫射一遍,了解大概即可。觉得有用后再转发收藏,以备不时之需。
正文:
之前介绍了AES加解密工具类和RSA非对称加解密工具类,今天介绍一下Apache的DigestUtils加密工具类和Base64加解密类,在java编程中,经常用到加密的工具类除了前面介绍的AES\RSA,还有MD5\SHA\BASE64加密。其它的基本没怎么遇到了,除非是特殊项目。有这几个完全够了。
- md5加密,不可逆,常用于文件校验和一些小数据加密;
- sha1\sha256\sha512加密,不可逆,常用于普通数据加密;
- base64加密、解密,常用于普通数据;
几个例子
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
import java.nio.charset.StandardCharsets;
public class DigestUtilsTest {
public static void main(String[] args) {
String md5Hash = DigestUtils.md5Hex("123456");
System.out.println("md5Hex(\"123456\"): " + md5Hash + ", length=" + md5Hash.length());
String sha1Hex = DigestUtils.sha1Hex("123456");
System.out.println("sha1Hex(\"123456\"): " + sha1Hex + ", length=" + sha1Hex.length());
String sha256Hex = DigestUtils.sha256Hex("123456");
System.out.println("sha256Hex(\"123456\"): " + sha256Hex + ", length=" + sha256Hex.length());
String sha512Hex = DigestUtils.sha512Hex("123456");
System.out.println("sha512Hex(\"123456\"): " + sha512Hex + ", length=" + sha512Hex.length());
String encodeBase64String = Base64.encodeBase64String("abc123".getBytes(StandardCharsets.UTF_8));
System.out.println("encodeBase64String(\"abc123\"): " + encodeBase64String + ", length=" + encodeBase64String.length());
byte[] bytes = Base64.decodeBase64(encodeBase64String.getBytes(StandardCharsets.UTF_8));
String decodeBase64 = new String(bytes);
System.out.println("decodeBase64(\"YWJjMTIz\"): " + decodeBase64 + ", length=" + decodeBase64.length());
}
}
工具类源码:
直接引入工具类的jar包即可
commons-codec
commons-codec
1.15
鄙人编码十年多,在项目中也积累了一些工具类,很多工具类在每个项目都有在用,很实用。大部分是鄙人封装的,有些工具类是同事封装的,有些工具类已经不记得是ctrl+c的还是自己封装的了,现在有空就会总结项目中大部分的工具类,分享给各位码友。如果文章中涉及的代码有侵权行为请通知鄙人处理。
计划是先把工具类整理出来,正所谓工欲善其事,必先利其器。项目中不管是普通单体项目还是多模块maven项目或是分布式微服务,一部分功能模块都是可以重用的,工具类模块就是其中之一。
- 上一篇: 安装JDK
- 下一篇: AutoHotKey(简称ahk)介绍与安装教程
猜你喜欢
- 2025-03-13 说说Base64如何基于64个可打印字符表表示二进制数据的
- 2025-03-13 一台 Java 服务器可以跑多少个线程?
- 2025-03-13 JavaCPP快速入门(官方demo增强版)
- 2025-03-13 24道几乎必问的JVM面试题,我只会7道,你能答出几道?
- 2025-03-13 一文看懂 ZooKeeper,面试再也不用背八股(文末送PDF)
- 2025-03-13 正点原子I.MX6U嵌入式Linux C应用编程:第一章《应用编程概念》
- 2025-03-13 java base64加解密(java base64加解密)
- 2025-03-13 Mac Arm64 版本 java 11 SDK 提升SpringBoot 项目编译速度10秒 以上
- 2025-03-13 AutoHotKey(简称ahk)介绍与安装教程
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)