JAVA 中的MessageDigest类和Mac类的使用
2023-09-14 08:58:29 时间
MessageDigest 消息摘要
例子:
MD5加密: try{ MessageDigest md5 = MessageDigest.getInstance("MD5"); md5.update("abc".getBytes()); System.out.println("md5(abc)=" + byte2str(md5.digest())); }catch (NoSuchAlgorithmException e){ }
操作过程:
1、getInstance得到实例
2、传入key和算法参数进行初始化
3、update添加数据
4、doFinal得到结果
例子:
public static String signString(String source, String accessSecret) throws InvalidKeyException, IllegalStateException { try { Mac mac = Mac.getInstance("HmacSHA1"); mac.init(new SecretKeySpec(accessSecret.getBytes("UTF-8"), "HmacSHA1")); byte[] signData = mac.doFinal(source.getBytes("UTF-8")); return Base64Helper.encode(signData); } catch (NoSuchAlgorithmException var5) { throw new RuntimeException("HMAC-SHA1 not supported."); } catch (UnsupportedEncodingException var6) { throw new RuntimeException("UTF-8 not supported."); } }
相关文章
- [Java 基础] 使用java.util.zip包压缩和解压缩文件
- 解决 Mac 的 Terminal 中,Java 乱码的问题
- JAVA学习(五):Java面向对象编程基础
- Java实现 LeetCode 686 重复叠加字符串匹配
- Java实现第九届蓝桥杯方格计数
- 【JAVA秒会技术之秒杀面试官】秒杀Java面试官——集合篇(一)
- 【JAVA】MacBook安装Java环境及eclipse
- 【JAVA】Java循环语句中的continue跳转进入下一次循环是否判断循环条件
- 【JAVA】 04-Java中的多线程
- 【JAVA SERVLET 开发系列之一】在MAC系统安装APACHE TOMCAT的详细步骤
- java 11 标准Java异步HTTP客户端
- 【JAVA】Java循环语句中的continue跳转进入下一次循环是否判断循环条件
- 【JAVA】 03-Java中的异常和包的使用
- 请解释一下Java多线程回调是什么意思?
- 在Java中可以使用自定义的java.net.InetAddress实现来解决虚拟hosts的问题
- Atitit 搜索蓝牙设备 powershell的实现 java noede.js python 先用脚本语言python nodejs,不好实现。。Java 也不好实现。。 Netcore可以,
- java死锁(Java-level deadlock)
- Java如何获取IP属地 ip2region failed to create searcher with x:java.io.FileNotFoundException:( 系统找不到指定的路径)
- JAVA语言之Java 中不同的并行实现的性能比较
- Eclipse 创建 Java 类
- JAVA开发讲义(二)-Java程序设计之数据之谜一