我需要将用于后续Crypt::encrypt()
和Crypt::decrypt()
调用的键,但仅在当前请求中。
Crypt::setKey('1');
$pin_code = Crypt::encrypt($pin_codes[$key]);
//它执行加密,然后自动注销
有什么问题吗?
我想通了
Laravel只在三个地方使用Crypt包。
- 缓存。特别是如果您使用的是数据库缓存驱动程序,那么放在缓存中的值将在保存之前加密,并在加载时解密。
- 饼干。Cookie值总是被加密发送给用户。当请求加载时,所有的cookie值都被解密。
- 队列。特别是如果你使用的是铁队列驱动程序,那么值存储在队列中,一旦检索就加密和解密。
因为第2点…我们将被注销系统
所以最好将key重置为原来的
Crypt::setKey('1');
$pin_code = Crypt::encrypt($pin_codes[$key]);
Crypt::setKey(Config::get('app.key'));//reset to original after job is done