下面两个都是在生成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);
}

对比一下两种的区别

最新文章

  1. iOS 如何设置导航的滑动返回手势, 和系统饿一样
  2. Material Design 概念,环境和基本属性
  3. Xstream学习资料
  4. Python模块:collections
  5. Servlet与JSP版本历史以及Tomcat支持的版本
  6. yum下载rpm
  7. mongodb下载、安装、配置服务启动、及可视化工具下载、使用
  8. 系统调用wait、waitpid和exec函数
  9. 如何优化C语言代码(程序员必读)
  10. (转)委托的N种写法,你喜欢哪种?
  11. bootstrap使用中遇到的问题(二)
  12. ABP组件包升级
  13. ios日期时间
  14. logback 设置按天,文件切割大小,总共日志文件大小。
  15. @Value(&quot;${xxxx}&quot;)注解的配置及使用
  16. 使用addeventlistener为js动态创建的元素添加事件监听
  17. c语言的基础知识
  18. powerdesiginer 生成oracle脚本问题,一步解决
  19. 简述 JPA 与 Spring Data JPA 与 Hibernate
  20. 1221. [HNOI2001]软件开发【费用流】

热门文章

  1. 云容器和安全性仍然是困扰IT人士的头号问题
  2. 谋哥:App开发者的苦逼不值得怜悯!
  3. OpenStack之各组件介绍
  4. iOS笔记052- Quartz2D-绘图
  5. sql语句查询数据库案例
  6. git放弃修改&amp;放弃增加文件
  7. poj 3278 catch that cow BFS(基础水)
  8. P4555 最长双回文串
  9. SCU 4438 Censor(哈希+模拟栈)
  10. BZOJ3129 [Sdoi2013]方程 【扩展Lucas】