本文目錄一覽:
- 1、使用php來進行MD5加密的實例代碼
- 2、PHP怎麼進行MD5加密
- 3、有php代碼和md5問題
- 4、php中如何使用MD5碼
- 5、php md5下16位和32位的實現代碼
- 6、php中如何使用MD5加密?
使用php來進行MD5加密的實例代碼
一般是網站註冊吧。
?php
$pswd1=md5(“cenusdesign”);
echo $pswd1; //運行結果為:fc60ec37d1c08d5b0fb67a8cd934d5ba
?
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);
得到結果是e10adc3949ba59abbe56e057f20f883e
有php代碼和md5問題
php有內置的md5函數,不用代碼,直接使用即可。。。
例子 1
?php
$str = “Hello”;
echo md5($str);
?
輸出:
8b1a9953c4611296a827abf8c47804d7
例子 2
?php
$str = “Hello”;
echo md5($str);
if (md5($str) == ‘8b1a9953c4611296a827abf8c47804d7’)
{
echo “br /Hello world!”;
exit;
}
?
輸出:
8b1a9953c4611296a827abf8c47804d7
Hello world!
php中如何使用MD5碼
首先介紹一下PHP中MD5函數的使用方法:
?php
$pswd1=md5(“cenusdesign”);
echo $pswd1; //運行結果為:fc60ec37d1c08d5b0fb67a8cd934d5ba
$pswd2=md5(“Cenusdesign”);
echo $pswd2; //運行結果為:067577d9fc109c80538c81d6f02bd293
?
顯然,經過md5加密後,原本「cenusdesign」轉變成了一組32位的字元串,而且,即使是一個字母的大小寫變化,這組字元串就會發生巨大的變化。
Cenus Design建議把用戶註冊時,將密碼首先經過MD5轉換,然後將轉換加密後的資料庫。在用戶登陸時,也將密碼先進行MD5轉化,再和資料庫中那組經過MD5加密的字元串進行比較。這樣,就可以做到在不知道用戶確切密碼的情況下完成密碼的比對操作。
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位加密—21232f297a57a5a743894a0e4a801fc3
admin—40位加密—7a57a5a743894a0e4a801fc343894a0e4a801fc3
substr(md5(“admin”),8,16);
//
16位MD5加密
正是上面的32為從第8個字元開始的16個字元。所以大家不用考慮唯一性的問題。本身就是正確的。網上有人說php5支持
複製代碼
代碼如下:
echo
md5(“admin”,true);//返回16位,不過這是在PHP5里才有。
經測試輸出的結果是亂碼,如果大家有什麼好的代碼,可以分享下。
php中如何使用MD5加密?
把這段密文分割成若干段,對每段都進行一次MD5運算,然後把這堆密文連成一個超長的字元串,最後再進行一次MD5運算,得到仍然是長度為32位的密文。
?php
//把密文分割成兩段,每段16個字元
function md5_2_1($data)
{
//先把密碼加密成長度為32字元的密文
$data = md5($data);
//把密碼分割成兩段
$left = substr($data, 0, 16);
$right = substr($data, 16, 16);
//分別加密後再合併
$data = md5($left).md5($right);
//最後把長字串再加密一次,成為32字元密文
return md5($data);
}
//把密文分割成32段,每段1個字元
function md5_2_2($data)
{
$data = md5($data);
//循環地截取密文中的每個字元並進行加密、連接
for ($i = 0; $i 32; $i++) {
$data .= md5($data{$i});
}
//這時$data長度為1024個字元,再進行一次MD5運算
return md5($data);
}
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291665.html