計應134(實驗班) 周露玲
php中能對資料進行加密的函式只要有crypt()、md5()和shal(),還有加密擴充套件庫mcrypt和mash。
crypt()函式
crypt()函式可以完成單向加密功能,語法如下:
string crypt ( string $str [, string $salt ] )
crypt()接受兩個引數,第乙個為需要加密的字串,第二個為鹽值(就是加密干擾值,如果沒有提供,則預設由php自動生成);返回雜湊後的字串或乙個少於 13 字元的字串,後者為了區別鹽值。
crypt()為單向加密,沒有逆向解密演算法,但是還是可以對一些常見的字串通過收集,列舉,碰撞等方法破解
<?php
$str ='this is an example!'; //宣告字串變數$str
echo '加密前$str的值為:'.$str;
$crypttostr = crypt($str); //對變數$str加密
echo '加密後$str的值為:'.$crypttostr; //輸出加密後的變數
?>
執行結果如圖所示:
md5()函式
md5()和crypt()一樣為單向加密,md5()函式的格式如下:
string md5 ( string $str [, bool $raw_output = false ] )
md5()預設情況下以 32 字元十六進製制數字形式返回雜湊值,它接受兩個引數,第乙個為要加密的字串,第二個為raw_output的布林值,預設為false,如果設定為true,md5()則會返回原始的 16 位二進位制格式報文摘要
<?php
$username='jellybool';
$password='jellybool.com';
/*簡單地對字串進行md5加密*/
echo md5($username);
echo "";
echo md5($password);
echo "";
/*更推薦的做法是對重要的敏感資料進行多次加密,以防被輕易破解*/
echo md5(md5($password));
?>
sha1()函式
和md5類似的還有sha演算法。sha全稱為secure hash algorithm(安全雜湊演算法),php提供的sha1()函式使用的就是sha演算法,函式的語法如下:
string sha1 ( string $str [, bool $raw_output = false ]
函式返回乙個40位的十六進製制數,如果引數raw_output為true,則返回乙個20位的二進位制數。預設raw_output為false。
<?php echo 'md5()和shal()函式的對比效果'; ?>
<?php echo '使用md5()函式加密字串phper:' ?>
<?php echo md5('phper'); ?>
<?php echo '使用shal()函式加密字串phper:'; ?>
<?php echo sha1('phper'); ?>
執行結果如圖所示:
PHP加密函式
1.使用crypt 函式進行加密 string crypt string str string salt 其中,str引數是需要加密的字串,salt引數為加密時使用的干擾串。如果省略掉第二個引數,則會隨機生成乙個干擾串。2.使用md5 函式進行加密 string md5 string str boo...
php加密函式與解密函式
去網上找了下。php常用的加密函式有 md5加密 不可逆 crypt加密 不可逆 sha1加密 不可逆 urlencode加密 可逆 base64編碼加密 可逆 還是見識的太少,這其中我只用過md5和base64 最常用的還是md5 md5的加密雖不可逆,但一些簡單的 兩次md5加密的字串,花點錢還...
PHP常用加密函式
define str 墨劍 echo md5 加密後的結果為 md5 str md5 加密 echo crypt加密後的結果為 crypt str,str crypt加密 base64encode base64 encode str base64 encode 加密 echo base64 enco...