对称加密
对称加密可以用来把登录用户的 id 和 name 等少数信息http_build_query成一个字符串加密后放入 cookie 中。
public function encryptString($content, $key)
{
return openssl_encrypt($content, 'AES-128-ECB', $key);
}
public function decryptString($content, $key)
{
return openssl_decrypt($content, 'AES-128-ECB', $key);
}
调用
//待加密字符串
$queryString = 'id=1&name=John+Doe&age=22&city=%E5%8D%8E%E7%9B%9B%E9%A1%BF';
//加密
$encStr = openssl_encrypt($queryString, 'AES-128-ECB', 'key123');
echo $encStr . PHP_EOL;
//解密
$deStr = openssl_decrypt($encStr, 'AES-128-ECB', 'key123');
echo $deStr . PHP_EOL;
http_build_query & parse_str
http_build_query 将该数组或对象转换成一个经过 URL 编码的查询字符串。
parse_str 将查询字符串转换成数组或对象。
$data = array(
'name' => 'John Doe',
'age' => 22,
'city' => 'New York'
);
//将数组转换为url的查询部分
$queryString = http_build_query($data);
echo $queryString . PHP_EOL;
//将 ur拼接字符串 转换成数组
parse_str($queryString, $res);
print_r($res);
执行后返回
Cookie对象
// 在 cookie 中设置 access_token 值
Cookie::set('access_token', $accessToken, Config::get('app.default_logout_time'));
// 从 cookie 中获取accessToken
$accessToken = Cookie::get('access_token');
DB 链式调用
Db 对象链式调用查询数据。
$list = Db::name('table1')
->alias("a")
->field("a.*,c.col2")
->where($where)
->join("table2 c", "a.col1 = c.id", "left")
->order(["create_time" => "desc"])
->paginate($param["limit"], false, [$param["page"]]);
标签:常用,加密,name,queryString,AES,128,ThinkPHP,query,方法
From: https://www.cnblogs.com/aeolian/p/18060776