在Laravel中加密时如何为不同的用户使用不同的密钥?

时间:2019-10-03 06:18:08

标签: encryption laravel-5.7

我尝试在Laravel5.7中加密文件

$encryptedContent = encrypt($fileContent);

用于加密文件。

$decryptedContent = base64_encode(decrypt($encryptedContent));

致力于解密。

我的问题是我需要为不同的用户使用不同的密钥来加密文件和解密。 我尝试了以下方法。

$crypt = new \Illuminate\Encryption\Encrypter($newkey);
$encryptedContent = $crypt->encrypt($fileContent);

但是会出现以下错误。

The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths

有人可以帮助我吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

问题出在密钥长度上。

如果我们使用AES-128-CBC键,则长度应为16个字符,而AES-256-CBC键的长度应为32个字符。