除了标准AES-128,AES-256之外,我如何使用laravel其他密码?

时间:2015-10-15 13:05:01

标签: laravel encryption lumen

我想使用AES-128 / AES-256以外的其他密码,这些密码是标准硬编码到\vendor\laravel\lumen-framework\config\app.php甚至EncrypterMcryptEncrypter使用的。

我必须进行更改,以便可以使用其他支持的密码/模式,提供的文档没有任何信息..

phpinfo()函数

mcrypt support  enabled
mcrypt_filter support   enabled
Version 2.5.8
Api No  20021217
Supported ciphers   cast-128 gost rijndael-128 twofish cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes arcfour
Supported modes cbc cfb ctr ecb ncfb nofb ofb stream

lumen version 5.1.*

1 个答案:

答案 0 :(得分:2)

您需要创建自己的Illuminate\Contracts\Encryption\Encrypter

实现

为您的实施创建新的服务提供商。您可以将Illuminate\Encryption\EncryptionServiceProvider作为宽松的指南。

Illuminate\Encryption\EncryptionServiceProvider::class,中的服务提供商app/config.php替换为您刚刚创建的服务提供商。{/ p>

如果您没有更改singleton()功能中的第一个参数并将其保留为encrypter,那么您应该只需要这样做。如果您对其进行了修改,则还需要创建一个新的外观并更新aliases中的app/config.php数组。