java: System.out.println(mad.toMd5(mad.toMd5("4451711")+"09519f").toLowerCase());
结果:0169d79a79c506c7289359b1104f69ad
php: echo md5(md5("4451711")."09519f");
结果:4c3dac55f41d67aeea814d09d5865aa9
结果:0169d79a79c506c7289359b1104f69ad
php: echo md5(md5("4451711")."09519f");
结果:4c3dac55f41d67aeea814d09d5865aa9
解决方案 »
- 邮件服务器问题
- zend studio中browser output中文乱码
- preg_replace 正则替换,紧急求助,高手请进!!!
- PHP gd问题
- 为什么Chrome浏览器第一次载入PHP页面不显示CSS的样式?
- mysql建表问题
- 超级菜鸟,想拿分的都近来撒。
- 我想问一下,有没有php下的类似与.net下的freetextbox的东西
- 想问一下session和cookie的实质
- 急!急!急,在线等,会ORACLE+PHP的朋友快进来看看,帮个忙!
- 这种程序如何实现
- php内容采集Warning:file_get_contents(http://auto.sina.com.cn/news/2012-07-21/0930100
php 的 md5 结果都是小写字母。
————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
我这边测试的结果是一致的,JAVA的MD5需要写一个辅助方法,不像PHP中MD5加密那样方便,但是结果肯定是一致的,给出我的测试代码,你重新运行一下:JAVA:import java.security.MessageDigest;public class Hello {
public final static String MD5(String s) {
char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f' };
try {
byte[] strTemp = s.getBytes();
//使用MD5创建MessageDigest对象
MessageDigest mdTemp = MessageDigest.getInstance("MD5");
mdTemp.update(strTemp);
byte[] md = mdTemp.digest();
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte b = md[i];
//System.out.println((int)b);
//将没个数(int)b进行双字节加密
str[k++] = hexDigits[b >> 4 & 0xf];
str[k++] = hexDigits[b & 0xf];
}
return new String(str);
} catch (Exception e) {return null;}
}
//测试
public static void main(String[] args) {
System.out.println(MD5(MD5("4451711")+"09519f"));
}
}
PHP:
<?php
echo md5(md5("4451711")."09519f");
?>
楼主的 mad.toMd5("4451711") 输出的是全大写字母,如果转换成小写,就跟 PHP 的结果一样了。