PHP中常用的加密解密方法

2021-10-01 09:14:21 字數 4026 閱讀 2796

php加密解密:php加密和解密函式通常可以用來加密一些有用的字串存放在資料庫裡或作為各個子系統間同步登陸的令牌,並且通過解密演算法解密字串,該函式使用了base64和md5加密和解密。

①第一種加密解密演算法

<?php

function

encryptdecrypt

($key

,$string

,$decrypt

)else

}//加密:"z0jax4qmwcf+db5tnbp/xwdum84snrsxvvpxuaca4bk="

echo

encryptdecrypt

('password'

,'helloweba歡迎您',0

);//解密:"helloweba歡迎您"

echo

encryptdecrypt

('password'

,'z0jax4qmwcf+db5tnbp/xwdum84snrsxvvpxuaca4bk=',1

);?>

②第二種加密解密演算法:

<?php

//加密函式

function

lock_url

($txt

,$key

='www.zhuoyuexiazai.com'

)return

urlencode

($ch

.$tmp);

}//解密函式

function

unlock_url

($txt

,$key

='www.zhuoyuexiazai.com'

)return

base64_decode

($tmp);

}?>

③第三種加密解密演算法:

<?php

//改進後的演算法

//加密函式

function

lock_url

($txt

,$key

='zhuoyuexiazai'

)return

urlencode

(base64_encode

($ch

.$tmp))

;}//解密函式

function

unlock_url

($txt

,$key

='zhuoyuexiazai'

)return

trim

(base64_decode

($tmp),

$key);

}?>

④第四種加密解密演算法:

<?php

function

passport_encrypt

($txt

,$key

='www.zhuoyuexiazai.com'

)return

urlencode

(base64_encode

(passport_key

($tmp

,$key))

);}function

passport_decrypt

($txt

,$key

='www.zhuoyuexiazai.com'

)return

$tmp;}

function

passport_key

($txt

,$encrypt_key

)return

$tmp;}

$txt

="1"

;$key

="testkey"

;$encrypt

=passport_encrypt

($txt

,$key);

$decrypt

=passport_decrypt

($encrypt

,$key);

echo

$encrypt."

";echo

$decrypt."

";?>

⑤第五種加密解密演算法:discuz中使用的加密解密演算法

專案中有時我們需要使用php將特定的資訊進行加密,也就是通過加密演算法生成乙個加密字串,這個加密後的字串可以通過解密演算法進行解密,便於程式對解密後的資訊進行處理。

最常見的應用在使用者登入以及一些api資料交換的場景。

加密解密原理一般都是通過一定的加密解密演算法,將金鑰加入到演算法中,最終得到加密解密結果。

<?php

//非常給力的authcode加密函式,discuz!經典**(帶詳解)

//函式authcode($string, $operation, $key, $expiry)中的$string:字串,明文或密文;$operation:decode表示解密,其它表示加密;$key:密匙;$expiry:密文有效期。

function

authcode

($string

,$operation

='decode'

,$key=''

,$expiry=0

)// 用固定的演算法,打亂密匙簿,增加隨機性,好像很複雜,實際上對並不會增加密文的強度

for($j=

$i=0;

$i<

256;

$i++

)// 核心加解密部分

for($a=

$j=$i=

0;$i<

$string_length;$i

++)if(

$operation

=='decode'

)else

}else

}$str

='abcdef'

;$key

='www.helloweba.com'

;echo

authcode

($str

,'encode'

,$key,0

);//加密

$str

='56f4yer1di2wtzwmqsfpps9hwyojnfp2mpc8sohrrxo7bok'

;echo

authcode

($str

,'decode'

,$key,0

);//解密

?>

⑥第六種加密解密演算法:

<?php

//函式encrypt($string,$operation,$key)中$string:需要加密解密的字串;$operation:判斷是加密還是解密,e表示加密,d表示解密;$key:密匙。

function

encrypt

($string

,$operation

,$key=''

)for($j

=$i=0

;$i<

256;

$i++

)for($a

=$j=$i

=0;$i

<

$string_length;$i

++)if(

$operation

=='d'

)else

}else

}$str

='abc'

;$key

='www.helloweba.com'

;$token

=encrypt

($str

,'e'

,$key);

echo

'加密:'

.encrypt

($str

,'e'

,$key);

echo

'解密:'

.encrypt

($str

,'d'

,$key);

?>

C 開發中常用加密解密方法解析

因為最近的做的東西要用到一些關於加密的技術,所以就把一些常用的加密方法給給總結了一下。好了廢話不多說,還是按照以往的慣例,我會通過乙個個的例項,逐一的把常用演算法給大家講解一下。一 md5加密演算法 我想這是大家都常聽過的演算法,可能也用的比較多。那麼什麼是md5演算法呢?md5全稱是message...

C 開發中常用加密解密方法解析

一 md5加密演算法 我想這是大家都常聽過的演算法,可能也用的比較多。那麼什麼是md5演算法呢?md5全稱是message digest algorithm 5,簡單的說就是單向的加密,即是說無法根據密文推導出明文。md5主要用途 1 對一段資訊生成資訊摘要,該摘要對該資訊具有唯一性,可以作為數字簽...

C 開發中常用加密解密方法解析

一 md5加密演算法 我想這是大家都常聽過的演算法,可能也用的比較多。那麼什麼是md5演算法呢?md5全稱是message digest algorithm 5,簡單的說就是單向的加密,即是說無法根據密文推導出明文。md5主要用途 1 對一段資訊生成資訊摘要,該摘要對該資訊具有唯一性,可以作為數字簽...