計應134(實驗班) 鄭壽奎
一、crypt()函式單向加密
語法格式:
string crypt(string str[, string salt]);
引數str是需要加密的值,salt是干擾串,如果把salt省略就會隨機生成乙個干擾串
設定干擾串和不設定干擾串的區別:
設定干擾串之後的值是一直不會變的
不設定干擾串之後的值是隨機的,每一次都不一樣
**如下:
<?php第一次執行結果如下圖:$str="這是個值";
echo '加密前的值:'.$str."
";$jiami=crypt($str
);echo '沒有干擾串加密後的值:'.$jiami."
";$jia=crypt($str,"ab");
echo '新增干擾串"ab"加密後的值:'.$jia."
";?>
第二次執行結果如下圖:
crypt()函式加密是單向加密的,如果不加干擾串,那麼每次加密的結果都是不一樣的,但是加了干擾串之後可以發現,每次的值都是一樣的。
所以對加密後的資料進行判斷就需要在加密之前加上干擾串
二、md5()函式加密
語法格式:
string md5(string str[, bool raw_output]);
引數str是需要加密的資料,raw_output的值是true和false,預設為false,如果為true的是後,那麼函式就會返回乙個二進位制形式的密文
md5()函式加密的密文是一直不會變的
**:
<?php執行結果如下圖:$str="這是個值";
echo '加密前的值:'.$str."
";$jiami=md5($str
);echo '預設加密後的值:'.$jiami."
";$jiami=md5($str,true
);echo 'true加密後的值:'.$jiami."
";?>
三、sha1()函式加密
語法格式:
string sha1(string str[, bool raw_output]);
引數str是需要加密的資料,raw_output預設false,函式返回乙個40位的十六進製制數,true 返回20的二進位制數
sha1()函式加密後的密文是不會變的
**:
<?php執行結果如下圖:$str="這是個值";
echo '加密前的值:'.$str."
";$jiami=sha1($str
);echo '預設加密後的值:'.$jiami."
";$jiami=sha1($str,true
);echo 'true加密後的值:'.$jiami."
";?>
四、加密和解密
**:
<?php執行結果如下圖://加密
function encode($string = '', $skey = 'cxphp')
//解密
function decode($string = '', $skey = 'cxphp')
$str = '四大古典風格';
echo "string : " . $str . "
";echo "encode : " . ($enstring = encode($str)) . '
';echo "decode : " . decode($enstring
);?>
php加密和解密
function randabc length filename index.php 要加密的檔案 t k1 randabc 隨機密匙1 t k2 randabc 隨機密匙2 vstr file get contents filename v1 base64 encode vstr c strtr ...
加密和解密
public class desc public static string decode string data catch descryptoserviceprovider cryptoprovider new descryptoserviceprovider memorystream ms n...
加密和解密
公鑰密碼體制的核心思想是 加密和解密採用不同的金鑰。這是公鑰密碼體制和傳統對稱密碼體制的最大區別。對於傳統對稱密碼而言,密文的安全性完全依賴於金鑰的保密性,一旦金鑰洩露,將毫無保密性可言。但是公鑰密碼體制徹底改變了這樣狀況,在公鑰密碼體制中,公鑰是公開的,只有私鑰是保密的,知道公鑰和密碼演算法要推測...