【java】hash一致性算法的实现区别【标题暂定】
2024-10-21 03:56:13
下面两个都是在生成sign签名时候用到的方式,有什么区别?
第一种:
import org.apache.commons.codec.digest.DigestUtils; String sign = DigestUtils.md5Hex(string);
第二种:
方法片段: import java.security.MessageDigest; try { byte[] array = computeHash(params); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < array.length; i++) { byte b = array[i]; String text = Integer.toHexString(b & 0xFF); if (text.length() == 1) {
stringBuilder.append("0");
}
stringBuilder.append(text);
} return stringBuilder.toString(); } catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} ============================ public static byte[] computeHash(String input) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance("MD5");
digest.reset();
byte[] utf8bytes = null;
try {
utf8bytes = input.getBytes("UTF-8");
// digest.update(utf8bytes);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return digest.digest(utf8bytes);
}
对比一下两种的区别
最新文章
- iOS 如何设置导航的滑动返回手势, 和系统饿一样
- Material Design 概念,环境和基本属性
- Xstream学习资料
- Python模块:collections
- Servlet与JSP版本历史以及Tomcat支持的版本
- yum下载rpm
- mongodb下载、安装、配置服务启动、及可视化工具下载、使用
- 系统调用wait、waitpid和exec函数
- 如何优化C语言代码(程序员必读)
- (转)委托的N种写法,你喜欢哪种?
- bootstrap使用中遇到的问题(二)
- ABP组件包升级
- ios日期时间
- logback 设置按天,文件切割大小,总共日志文件大小。
- @Value(";${xxxx}";)注解的配置及使用
- 使用addeventlistener为js动态创建的元素添加事件监听
- c语言的基础知识
- powerdesiginer 生成oracle脚本问题,一步解决
- 简述 JPA 与 Spring Data JPA 与 Hibernate
- 1221. [HNOI2001]软件开发【费用流】