A. java的32位MD5加密與php中的32位MD5加密結果不一樣。求幫助。急急急
Java的字元串是unicode編碼,不受源碼文件的編碼影響;而PHP的編碼是和源碼文件的編碼一致,受源碼編碼影響。例中java字元數據在散列時的編碼和php編碼未能保持一致,我認為這是導致輸出不同的「病理」
由於未知mad.toMd5的具體實現,問題直接成因應該在toMd5的String到byte[]轉換時的編碼上,或者未設置或者設置了錯誤的編碼
但只要java的字元串先getBytes獲得位元組串,並和php源碼編碼一致,就能獲得一致結果。
B. 我寫了php代碼不想讓虛擬伺服器上看到源碼,有人說用md5加密,但是用md5把代碼加密後,apche還能執行嗎
源碼無法加密。一旦源碼加密後,伺服器端根本無法解釋執行。
只能是數據通過MD5或是其他的加密演算法進行加密。
如果你對代碼的安全要求特別高,只能是自己架設伺服器咯。
C. php,變數的md5加密
你知道下面的程序輸出結果是多少嗎?
<?php
echo md5('');
?>
結果是:
上面的結果你是不是很眼熟呀,它就是你的結果呀,因為你的$_SESSION['pwd']為空,不信你輸出看看。
D. java環境下的MD5加密移植到php環境中。(分不夠可以加,可以換成¥)
資料庫數據直接導入
用戶,密碼的驗證直接用 .md5($password) 不就好了
E. 求教php加密md5和java的加密結果不一樣,怎麼解決
不管php還是java,md5加密的結果是一樣的,如果不一樣,確定你是不是字元串不一樣。
F. java的32位MD5加密與php中的32位MD5加密結果不一樣.求幫助
PHP不是很懂、但是PHP和Java用MD5加密的結果是一樣的、
我記得上次我還用Java調用了人家的PHP充值介面、其中有參數就是MD5加密的;
希望回答能給你帶來幫助~
如果滿意,請採納,如還有疑問,可繼續追問!
您也可以向我們團隊發出請求,會有更專業的人來為您解答!
G. PHP md5 和 java 的md5出來的數據不一樣
publicfinalclassMD5{
/**
*獲取MD5加密後的字元串
*@paramstr明文
*@return加密後的字元串
*@throwsException
*/
publicstaticStringgetMD5(Stringstr)throwsException{
/**創建MD5加密對象*/
MessageDigestmd5=MessageDigest.getInstance("MD5");
/**進行加密*/
md5.update(str.getBytes());
/**獲取加密後的位元組數組*/
byte[]md5Bytes=md5.digest();
Stringres="";
for(inti=0;i<md5Bytes.length;i++){
inttemp=md5Bytes[i]&0xFF;
if(temp<=0XF){//轉化成十六進制不夠兩位,前面加零
res+="0";
}
res+=Integer.toHexString(temp);
}
returnres;
}
}
//這是我寫的32位MD5加密(原本是16位)
H. 如何讓php能象java的方式md5加密
<?php//示例代碼:$str = 'hello 這里是php preg_match正則匹配演示';// UTF8編碼:正則表達式匹配中文;if(preg_match('/[\x{4e00}-\x{9fa5}]+/u',$str)){ echo '匹配成功,有中文字元串!';}else{ echo '沒有中文字元串。';}// GB2312,GBK編碼:正則表達式匹配中文;if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)){ echo '匹配成功,有中文字元串!';}else{ echo '沒有中文字元串。';} ?>你看看這樣怎麼樣,建議你去後盾人看看,那裡有教學視頻
I. Java 與 PHP 的MD5加密為什麼不一樣
估計是你的編碼有問題,你處理一下編碼試試
把java和php要加密的內容轉成同一種編碼就可以了,一般使用byte[]這種就沒問題
J. java的md5和php的md5加密同樣的值,但是加密出來的東西怎麼不一樣
不可能,除非你的代碼錯了。或者你要加密的數據看著一樣,實際不一樣。
這種情況下,你最應該提供的是你的代碼和原始數據,大家可以一起驗證。