phpmd5加密16位
⑴ php md5密文轉換成 16進制字元串
substr(md5($str),8,16);
⑵ php md5下16位和32位的實現代碼
復制代碼
代碼如下:
<?php
echo substr(md5("admin"),8,16); // 16位MD5加密
echo "<hr>";
echo md5("admin"); // 32位MD5加密
?>
16位的MD5加密用substr函數截取了字元得到實現....
不想深入研究了 :) 要把腦力放到其他關鍵的地方~~
今天做了個php鏈接mssql資料庫,資料庫中的表中欄位使用MD5十六加密的。但是php中的MD5默認是32位,導致登錄程序沒辦法使用md5加密跟表中欄位匹配,在網上一搜也有不少人有這方面的困惑,後來找到一個解決辦法,是正確的,就記錄下來。
使用substr函數截取:
substr(md5("admin"),8,16);
//
16位MD5加密
md5("admin");
//
32位MD5加密
經過腳本之家測試結果如下:
我們以asp的幾個md5後的結果比較
附:如果遇到MD5加密文件,而又不知道的密碼的,請在資料庫中換上這組加密的數據。
admin---16位加密---7a57a5a743894a0e
admin---32位加密---
admin---40位加密---
substr(md5("admin"),8,16);
//
16位MD5加密
正是上面的32為從第8個字元開始的16個字元。所以大家不用考慮唯一性的問題。本身就是正確的。網上有人說php5支持
復制代碼
代碼如下:
echo
md5("admin",true);//返回16位,不過這是在PHP5里才有。
經測試輸出的結果是亂碼,如果大家有什麼好的代碼,可以分享下。
⑶ php md5加密 最多多少位
md5是一種散列函數。php
中md5加密結果默認長度是32
位,可將任意長度的「位元組串」變換成一個128bit的大整數,並且它是一個不可逆的字元串變換演算法。該結果字元長度是固定的,而且是唯一的。示例:
<?php
$str="hello zho !";
echo md5($str);
//
$str2=" !";
echo md5($str2);
//
?>
⑷ php純數字加密為可逆的定長密文
你這不是md5加密嗎,sql直接寫就行了。
你在資料庫工具中執行一下,select md5(1);
或者php的md5函數
echo md5(1);
php自帶可逆的加密是base64_encode和base64_decode,但是這個不是等長的,根據輸入的內容變換長度。估計這個不適合你。
你還是網路」php加密解密「吧,有現成的函數。
⑸ php messagedigest md5 一定是16位嗎
public final class MD5 {
/**
* 獲取MD5加密後的字元串
* @param str 明文
* @return 加密後的字元串
* @throws Exception
*/
public static String getMD5(String str) throws Exception {
/** 創建MD5加密對象 */
MessageDigest md5 = MessageDigest.getInstance("MD5");
/** 進行加密 */
md5.update(str.getBytes());
/** 獲取加密後的位元組數組 */
byte[] md5Bytes = md5.digest();
String res = "";
for (int i = 0; i < md5Bytes.length; i++){
int temp = md5Bytes[i] & 0xFF;
if (temp <= 0XF){ // 轉化成十六進制不夠兩位,前面加零
res += "0";
}
res += Integer.toHexString(temp);
}
return res;
}
}
//這是我寫的32位MD5加密(原本是16位)
⑹ php中如何使用MD5加密
1.
MD5加密
string
md5
(
string
$str
[,
bool
$raw_output
=
false
]
)
參數
str
--
原始字元串。
raw_output
--
如果可選的
raw_output
被設置為
TRUE,那麼
MD5
報文摘要
將以16位元組長度的原始二進制格式返回。
這是一種不可逆加密,執行如下的代碼
$password
=
'123456';
echo
md5($password);
得到結果是
