【发布时间】:2017-10-03 09:18:31
【问题描述】:
java的代码:
public static String encoderByMd5(String str){
MessageDigest md5;
String newstr = "";
try{
md5 = MessageDigest.getInstance("MD5");
BASE64Encoder encoder = new BASE64Encoder();
try{
newstr=encoder.encode(md5.digest(str.getBytes("utf-8")));
newstr = newstr.replaceAll("=", "");
}catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}catch(NoSuchAlgorithmException e) {
e.printStackTrace();
}
return newstr;
}
php的代码:
function javaMd5($str){
$str = md5($str);
$str = base64_encode($str);
$str = str_replace("=","",$str);
return $str;
}
如何使 PHP 加密数据与 Java 加密数据相同?请帮帮我!
【问题讨论】:
-
你能提供样本输出吗?
-
我搜索了 BASE64Encoder 并找不到任何东西。此外,如果您从 base64 编码字符串中删除
=,您之后可能无法对其进行解码。 -
我不需要解码,只用来加密
-
使用
md5($str,true)获取原始 MD5,因为这也是 Java 将得到的