【发布时间】:2017-09-05 09:54:22
【问题描述】:
我加密了我在系统中用来传递 URL 的令牌,并且每次触发加密令牌时,它始终具有相同的最后 2 个字符。
这是我的代码:
<?php
function encrypt($string)
{
$output = false;
$encrypt_method = "AES-256-CBC";
$secret_key = 'ExampleKey';
$secret_iv = 'ExampleIv';
// hash
$key = hash('sha256', $secret_key);
$iv = substr(hash('sha256', $secret_iv), 0, 16);
$output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv);
$output = base64_encode($output);
return $key;
}
?>
token 结果总是相同的最后 2 个字符,这里是
eg #1
token=Z0ZkSmZhWjMzRUxTcCtxY2o1ZlFJdz09
eg #2
token=STE2b05oMVkwK3FIV0lhUkYyN0tmdz09
我只是想去掉加密中的“09”或者是不同的。
【问题讨论】:
标签: php encryption token