如果我作为独立应用程序运行或在Web应用程序内运行,则java实现为同一输入字符串创建两个不同的摘要.
独立应用程序与oracle dbms匹配.实现是
MessageDigest md5 = MessageDigest.getInstance("MD5");
if (md5 != null) {
md5.reset();
newHashByte = md5.digest(msg.getBytes());
}
newHash = convertToString(newHashByte);
Run Code Online (Sandbox Code Playgroud)
Hex to String转换实现是
StringBuffer result = new StringBuffer(64);
for (int i = 0; i < digestBits.length; i++)
hexDigit(result, digestBits[i]);
return result.toString();
Run Code Online (Sandbox Code Playgroud)
非常感谢您能帮助我们解决这个问题.
我怀疑你有不同的默认编码.使用这样的正确编码,
newHashByte = md5.digest(msg.getBytes("utf-8"));
Run Code Online (Sandbox Code Playgroud)