繁体   English   中英

php openssl的到期时间?

[英]Expiry time on php openssl?

我对加密不是很熟悉,现在我们在应用程序中使用PHP的openssl_encrypt / decrypt。

是否可以仅在到期之前进行加密/解密? 例如,钥匙过期了吗?

是的,有可能,您必须在需要加密的内容之前将创建时间戳记附加为字节:

$time = pack('N', time());
$enc = openssl_encrypt($time . $other_data, ...);

解密时:

$dec = openssl_decrypt($encrypted, ...);
$time = unpack('N', substr($dec, 0, 4));
$other_data = substr($dec, 4);
if (time() - $time[1] > $EXPIRY_SECONDS)
   die('Expired');

我在pack / unpack中使用的N标志用于Big Endian字节顺序,您也可以将V用于小字节序,或将L用于与机器相关,因为时间戳适合32位整数(4个字节)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM