function encryptTokey($data){
$apikey = 'testapikey111';
$ps1 = sha1($apikey . strtolower($data));
$ps1 = strtoupper($ps1);
$s1 = implode(str_split($ps1, 2), '-');
$ps2 = md5($s1 . $apikey);
$ps2 = strtoupper($ps2);
$token = implode(str_split($ps2, 2), '-');
return $token;
}
echo encryptTokey('testdata');
運行結果:
68-10-98-74-4C-82-74-4B-CC-49-31-98-46-02-EE-8E
詳細你可以去後盾人看看,這些都是後盾人裡面的,哪裡有詳細的視頻教學都是高質量,我自己就是在裡面學的。
Ⅱ 請教大師將下面一段PHP的代碼轉換成JAVA代碼
給你轉換哈:但是不一定能順利運行,
public int getNumber() {
int start = (int) (Math.random() * 100000);
int end = (int) (Math.random() * 999999);
while (end < start) {
end = (int) (Math.random() * 999999);
}
return end;
}
if(mobile != null && !mobile.equals(""))
{
msgss = getNumber();
String key = "
";
String sign = MD5(mobile + msgss + key).toUpperCase(); //搜索一下javaMD5的方法,很多的
JsonObject json = null;
try
{
json = new JsonObject();
json.put("mobile", mobile);
json.put("company_id", company_id);
json.put("msg", msgss);
json.put("sign", sign);
}
catch
{
}
if(json != null)
{
//假如這里有一個base64加密的一個組裝url的方法,具體的方法可以網上搜索
String url = Base64(json);
if(Textutils.isEmpty(url))
{
//這里寫一個java http get的方法
retuslt = httpClient.get(url);
}
system.out.println(retuslt);
}
}
Ⅲ 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位)
Ⅳ java的32位MD5加密與php中的32位MD5加密結果不一樣。求幫助。急急急
Java的字元串是unicode編碼,不受源碼文件的編碼影響;而PHP的編碼是和源碼文件的編碼一致,受源碼編碼影響。例中java字元數據在散列時的編碼和php編碼未能保持一致,我認為這是導致輸出不同的「病理」
由於未知mad.toMd5的具體實現,問題直接成因應該在toMd5的String到byte[]轉換時的編碼上,或者未設置或者設置了錯誤的編碼
但只要java的字元串先getBytes獲得位元組串,並和php源碼編碼一致,就能獲得一致結果。
Ⅳ Java 與 PHP 的MD5加密為什麼不一樣
估計是你的編碼有問題,你處理一下編碼試試
把java和php要加密的內容轉成同一種編碼就可以了,一般使用byte[]這種就沒問題
Ⅵ php,變數的md5加密
你知道下面的程序輸出結果是多少嗎?
<?php
echo md5('');
?>
結果是:
上面的結果你是不是很眼熟呀,它就是你的結果呀,因為你的$_SESSION['pwd']為空,不信你輸出看看。
Ⅶ 請問怎麼把這個java函數轉為php的函數
java的風格和php5非常像,如果由JAVA轉PHP,那就具有一些語法上的先天優勢。
比如吧
class a{
public static function test(){
}
}