php加密技術

2021-07-14 04:07:20 字數 2659 閱讀 8099

1.效果展示:

php中常用的加密函式:

1.md5加密:

string md5 ( string str[,bool

raw_output = false ] )

(1)md5()預設情況下以 32 字元十六進製制數字形式返回雜湊值,它接受兩個引數,第乙個為要加密的字串,第二個為raw_output的布林值,

預設為false,如果設定為true,md5()則會返回原始的 16 位二進位制格式報文摘要

(2)md5()為單向加密,沒有逆向解密演算法,但是還是可以對一些常見的字串通過收集,列舉,碰撞等方法破解

2.crypt加密:

string crypt ( string str[,string

salt ] )

(1)crypt()接受兩個引數,第乙個為需要加密的字串,第二個為鹽值(就是加密干擾值,如果沒有提供,則預設由php自動生成);

返回雜湊後的字串乙個少於 13 字元的字串,後者為了區別鹽值。

(2)crypt()為單向加密,跟md5一樣。

3.sha1加密:

string sha1 ( string str[,bool

raw_output = false ])

(1)跟md5很像,不同的是sha1()預設情況下返回40個字元的雜湊值,傳入引數性質一樣,第乙個為加密的字串,

第二個為raw_output的布林值,預設為false,如果設定為true,sha1()則會返回原始的20 位原始格式報文摘要

(2)sha1()也是單行加密,沒有逆向解密演算法

4.urlencode加密:

string urlencode ( string $str )

(1)乙個引數,傳入要加密的字串(通常應用於對url的加密)

(2)urlencode為雙向加密,可以用urldecode來加密(嚴格意義上來說,不算真正的加密)

(3)返回字串,此字串中除了 -_. 之外的所有非字母數字字元都將被替換成百分號(%)後跟兩位十六進製制數,空格則編碼為加號(+)。

5.base64編碼加密:

string base64_decode ( string $encoded_data )

(1)base64_encode()接受乙個引數,也就是要編碼的資料(這裡不說字串,是因為很多時候base64用來編碼)

(2)base64_encode()為雙向加密,可用base64_decode()來解密

2.實現技術:

<?php 

header("content-type: text/html; charset=utf8" ) ;

$str="haoyunyun";

/*md5加密43af19c415c235264faf71b55463425c*/

echo md5($str);

echo "

";/*crypt加密$1$jn/.wd3.$1a2at6cepfqe1yjnvlszb.*/

echo crypt($str);

echo "

";/*標準加密*/

echo crypt($str, 'nihao');//14r6nfaaqyf3u;

echo "

";/*sha1加密*/

echo sha1($str);

echo "

";/*md5+shal加密*/

echo sha1(md5($str));

echo "

";/*url編碼技術加密*/

echo urlencode($str) ;

echo "

";echo urldecode(urlencode($str) ) ;

echo "

";$str1= "this + is + my + name" ;

echo rawurlencode($str1) ;

echo "

";$str2 = "我的名字是郝雲一般人我不告訴他! " ; //加密內容

$key = "haoyunyun" ; //金鑰 自己制定金鑰

$cipher = mcrypt_des; //密碼型別

$modes = mcrypt_mode_ecb; //密碼模式

$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher, $modes) , mcrypt_rand) ; //初始化向量

echo "加密明 文: " . $str2. "" ;

@$str_encrypt =base64_encode( mcrypt_encrypt($cipher, $key, $str2, $modes, $iv) ) ; //加密函式

echo "加密密文: " . $str_encrypt. " " ;

@$str_decrypt = mcrypt_decrypt($cipher, $key, base64_decode($str_encrypt) , $modes, $iv) ; //解密函式

echo "還原: " . $str_decrypt;

echo "

";

3.僅供參考。

PHP加密技術

前幾天學習了php加密的一些知識,現在總結一下 php中幾種加密形式 md5 加密演算法 crypt 加密演算法 sha1 加密演算法 url編碼加密技術 base64編碼加密技術 md5 加密演算法 語法 string md5 string str bool raw output false st...

PHP加密技術

關於php的一些常用的快取技術 1.md5 2.crypt 3.sha1 4.url編碼加密技術 5.base64資訊編碼加密技術 首先我們先從最基礎的md5 加密技術開始講解 md5 加密技術,是一種單向加密技術,下面來看一下md5的語法 string md5 string str bool ra...

PHP加密技術

加密技術簡介 對明文資料資訊通過不同的演算法進行加密處理,形成一種新的密文 亂碼形式 通過輸入秘鑰進行資料解析 加密演算法分類 1.單向雜湊加密 指通過對不同輸入長度的資訊進行雜湊計算,得到固定長度的輸出,這個雜湊計算過程是單向的,即不能對固定長度的輸出進行計算獲得輸入資訊,salt又稱為鹽值 在單...