在不同环境下MD5加密相同字符串,密文不一样的问题
2024-10-12 04:30:59
这是昨天做一个接口对接时遇到的一个问题。下面是md5加密的算法
public static String md555(String plainText) throws UnsupportedEncodingException {
byte[] secretBytes = null;
try {
secretBytes = MessageDigest.getInstance("md5").digest(
plainText.getBytes());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("没有md5这个算法!");
}
String md5code = new BigInteger(1, secretBytes).toString(16);// 16进制数字
// 如果生成数字未满32位,需要前面补0
for (int i = 0; i < 32 - md5code.length(); i++) {
md5code = "0" + md5code;
}
return md5code;
}
这里会出现的问题是字符串编码问题,如果不进行编码的话有可能会产生不一样的密文。这里只需要改成
plainText.getBytes(“utf-8”)就可以了。
最新文章
- 怎么将java web 项目导入idea 中
- FM四舍五入_从小数点最后一位进位
- Android中EditText样式修改 聚焦光标、背景
- android ListView下拉刷新 上拉加载更多
- 打印W图案
- KeilC51使用详解 (二)
- N - Is It A Tree?(判断环)
- 动态图片 gif
- xml publisher根据条件显示或隐藏列
- UILabel的顶对齐解决方法
- Abnormal build process termination--解决IDEA启动web项目报错
- 并发编程 process 模块的方法及运用 僵尸与孤儿
- 关于win10安装javaJDK时遇到的问题
- php 输出缓存,每秒打印一个数字
- php中session入memcached
- [SQL Server]SQL行转列
- PHP计算字符串的长度
- highlight.js 设置行号
- AngularJS 三 控制器和事件
- linux学习总结-----web前端①