java與php的md5互通
其實md5這個演算法和語言沒有什麼關係,很多同學在使用不同語言開發的時候,使用md5演算法得出的結果會不一樣,比如java與php,其實很多時候是由於受到原始碼檔案的影響,比如你java的字串編碼是unicode,不受原始碼檔案影響,而php的編碼是和原始檔編碼一致的,受原始碼編碼影響。在做下記錄
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;
}
}
相關文章
- php與java互通aes_encryptPHPJava
- RSA加密解密(無資料大小限制,php、go、java互通實現)加密解密PHPGoJava
- c#相容PHP中的md5C#PHP
- jquery和php中相同的MD5加密jQueryPHP加密
- java MD5 加密Java加密
- 【Java】MD5加密Java加密
- java md5加密Java加密
- JAVA中MD5加密(MD5工具類)Java加密
- .NET和java的RSA互通,僅此而已Java
- JavaScript 與 Java、PHP 的比較JavaScriptPHP
- java md5加密的幾種方式Java加密
- java MD5 加密實現Java加密
- android下vulkan與opengles紋理互通Android
- vmware guest os與host os互通訊方式
- vim設定與系統剪下板互通
- Flutter基礎(十三)Flutter與Android的相互通訊FlutterAndroid
- Flutter 基礎(十三)Flutter 與 Android 的相互通訊FlutterAndroid
- Solon 1.2.13 釋出,開啟與 Springboot 的互通Spring Boot
- 神奇的Cookie互通魔法Cookie
- 百度關於互聯互通的思考與實踐
- 配置WSL2實現與宿主機的網路互通
- java實現MD5加鹽加密方法Java加密
- docker 容器互通Docker
- MD5的使用
- MD5和MD5破解的一些事
- 【PHP】PHP基礎知識與C++、Java等C家族的重點區別PHPC++Java
- uniapp webview如何與H5相互通訊APPWebViewH5
- java與php區別或異同(整理、整合)JavaPHP
- MD5演算法16位與32位的區別演算法
- oracle的md5加密Oracle加密
- 技術分享| anyRTC音影片與微信小程式互通實踐微信小程式
- .NET CORE 6 API與原生微信小程式資料互通教程API微信小程式
- Web開發技術選型之Java與PHPWebJavaPHP
- 摘要與加密的區別(以MD5演算法為例)加密演算法
- PHP 5 與 PHP 7 的效能對比PHP
- 如何 使 Java、C# md5 加密的值保持一致JavaC#加密
- Oracle中的MD5加密Oracle加密
- mac 生成字串的md5Mac字串