~~~
//可逆加密
function encrypt($data, $key) {
$prep_code = serialize($data);
$block = mcrypt_get_block_size('des', 'ecb');
if (($pad = $block - (strlen($prep_code) % $block)) < $block) {
$prep_code .= str_repeat(chr($pad), $pad);
}
$encrypt = mcrypt_encrypt(MCRYPT_DES, $key, $prep_code, MCRYPT_MODE_ECB);
return base64_encode($encrypt);
}
//可逆解密
function decrypt($str, $key) {
$str = base64_decode($str);
$str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
$block = mcrypt_get_block_size('des', 'ecb');
$pad = ord($str[($len = strlen($str)) - 1]);
if ($pad && $pad < $block && preg_match('/' . chr($pad) . '{' . $pad . '}$/', $str)) {
$str = substr($str, 0, strlen($str) - $pad);
}
return unserialize($str);
}
例:
//加密
public function encryption(){
$a = 'bac';
$b = encrypt($a,'2568kihy');
dump($b);
}
//解密
public function decode(){
$a = 'bac';
$b = decrypt($a,'2568kihy');
dump($b);
}
~~~
- 空白目錄
- 關于頁面跳轉跟重定向
- thinkphp5return的問題
- thinkphp5權限auth
- thinkphp5關聯查詢多表查詢join
- javascript
- 數據庫命令行操作
- php間隔一段時間自動執行
- PHP字符串首尾留N位,中間替換成*號
- tp5獲取當前域名
- PHP常用函數
- 注冊發送短信驗證的接口詳解
- php可逆加密解密
- 配置本地虛擬主機
- thinkphp5跨控制器調用
- thinkphp5框架加載流程
- thinkphp5路由詳解
- thinkphp5功能集合
- thinkphp5數據庫操作
- delete,put類型
- tp5數據庫查詢
- tp5數據庫增刪改
- 事務機制
- thinkphp模型model新建和查詢
- tp5model的新增
- tp5model修改
- tp5model刪除和軟刪除
- tp5視圖
- tp5API