Rumah >pembangunan bahagian belakang >tutorial php >php 与 java 汉语言 md5 不一样

php 与 java 汉语言 md5 不一样

WBOY
WBOYasal
2016-06-13 10:53:571076semak imbas

php 与 java 中文 md5 不一样?
项目组要做个组件与别的公司进行通信,他们那边是php 开发,我们这边的是java,URL 地址是md5加密,我每次调取时,都发生错误..这个问题我困扰二三天,最后发现java 中中文的md5与php 中的中文 md5 不一样,英文完全没有问题...
解决方法一:php 与 java 两边自己 写md5算法..
解决方法二:通过java 调用php 页面,url 参数生成md5 格式,再与别的公司进行通信
          代码如下:
          java 端 :
public static String EncoderByMd5(String str,String url){

   str=java.net.URLEncoder.encode(str,"gb2312"); CommHttpInterface http = new CommHttpInterface();

return http.phpRequest(url+"?"+str);
}

public static String phpRequest(String url){  
    try{  
        HttpClient client = new HttpClient();  
        PostMethod post = new PostMethod(url);//使用POST方式提交数据  
        post.setRequestHeader("Content-Type","text/html;charset=gb2312");  
        client.executeMethod(post);  
        String response = new String(post.getResponseBodyAsString().getBytes("gb2312"));//打印结果页面  
        post.releaseConnection();  
        return response;  
    } catch(IOException e){  
        e.printStackTrace();  
        return null;  
    }  





   php 端:
header("Content-type: text/html; charset=gb2312");
$paramStr= urldecode($_GET["md5str"]);
echo strtolower(md5($paramStr));
?>


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn