问题补充:我的测试类:
public class Trst {
public static void main(String[] args) throws ServiceException{
String md5pass=new MD5().getMD5ofStr("secret").toLowerCase();//md5加密
String shiliupass=toStringHexTest(md5pass);//字节压缩
try {
System.out.println("{MD5}"+Base64.encode(shiliupass));//base64加密后
}catch(Exception e) {
e.printStackTrace();
}
}
public static String toStringHexTest(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i =0; i < baKeyword.length; i++) {
try {
baKeyword[i]=(byte)(0xff&Integer.parseInt(s.substring(i*2,i*2+2),16));
}catch (Exception e) {
e.printStackTrace();
}
}
try {
s= new String(baKeyword,"gbk");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}
}
输出结果是:{MD5}Xj8ilOzQ4PCOq3aQ0qbuaQ==
openldap的处理结果是:{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==
我知道为什么你的php算出的结果也是和我的一样的,我是想实现算出结果和openldap相同的
robertliudeqiang 写道
你的
qVFcUS4kPxNMPw1HEEAXPw==
是怎么产生出来的?