java中用MessageDigest包实现MD5功能出乱码

这里肯定会出乱码的,必需将得到的字节码再次进行编码,一般是16进制编码。如:byte []bytes=md5.digest(user.getPassword().getBytes("utf8"));StringBuilder ret=new StringBuilder(bytes.length
java中用MessageDigest包实现MD5功能出乱码
这里肯定会出乱码的,必需将得到的字节码再次进行编码,一般是16进制编码。
如:
byte []bytes=md5.digest(user.getPassword().getBytes("utf8"));
StringBuilder ret=new StringBuilder(bytes.length<<1);
for(int i=0;i<bytes.length;i++){
ret.append(Character.forDigit((bytes[i]>>4)&0xf,16));
ret.append(Character.forDigit(bytes[i]&0xf,16));
}
user.setPassword(ret.toString());2010-04-26
这里肯定会出乱码的,必需将得到的字节码再次进行编码,一般是16进制编码。
如:
byte
[]bytes=md5.digest(user.getPassword().getBytes("utf8"));
StringBuilder
ret=new
StringBuilder(bytes.length<<1);
for(int
i=0;i<bytes.length;i++){
ret.append(Character.forDigit((bytes[i]>>4)&0xf,16));
ret.append(Character.forDigit(bytes[i]&0xf,16));
}
user.setPassword(ret.toString());2020-06-09
mengvlog 阅读 336 次 更新于 2025-12-17 16:14:18 我来答关注问题0
檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部