永发信息网

php hash_hmac跟java算出来的结果不一样

答案:1  悬赏:70  手机版
解决时间 2021-03-19 21:44
  • 提问者网友:趣果有间
  • 2021-03-19 10:53
php hash_hmac跟java算出来的结果不一样
最佳答案
  • 五星知识达人网友:毛毛
  • 2021-03-19 12:00
问题解决代码如下:
public String md5(String txt) {
try{
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(txt.getBytes("GBK")); //问题主要出在这里,Java的字符串是unicode编码,不受源码文件的编码影响;而PHP的编码是和源码文件的编码一致,受源码编码影响。
StringBuffer buf=new StringBuffer();
for(byte b:md.digest()){
buf.append(String.format("%02x", b&0xff));
}
return buf.toString();
}catch( Exception e ){
e.printStackTrace();
return null;
}
}追问对方要求用 utf-8编码,我php源码文件也是utf-8的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯