我如何在 laravel 中使用 AES-128、AES-256 标准以外的其他密码?
How can i use in laravel other cipher other than the standards AES-128, AES-256?
我想使用 AES-128 / AES-256 以外的其他密码,这些密码被标准硬编码到 \vendor\laravel\lumen-framework\config\app.php
中,甚至 Encrypter
或 McryptEncrypter
也使用它们。
我必须进行更改才能使用其他受支持的 ciphers/modes,提供的文档没有任何信息..
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.*
您需要创建自己的 Illuminate\Contracts\Encryption\Encrypter
实现
为您的实施创建一个新的服务提供商。您可以按照 Illuminate\Encryption\EncryptionServiceProvider
作为宽松指南。
将 app/config.php
中的服务提供商 Illuminate\Encryption\EncryptionServiceProvider::class,
替换为您刚刚创建的服务提供商。
如果您没有更改 singleton()
函数中的第一个参数并将其保留为 encrypter
,您应该只需要这样做。如果您确实修改了它,您还需要创建一个新外观并更新 app/config.php
中的 aliases
数组。
我想使用 AES-128 / AES-256 以外的其他密码,这些密码被标准硬编码到 \vendor\laravel\lumen-framework\config\app.php
中,甚至 Encrypter
或 McryptEncrypter
也使用它们。
我必须进行更改才能使用其他受支持的 ciphers/modes,提供的文档没有任何信息..
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.*
您需要创建自己的 Illuminate\Contracts\Encryption\Encrypter
为您的实施创建一个新的服务提供商。您可以按照 Illuminate\Encryption\EncryptionServiceProvider
作为宽松指南。
将 app/config.php
中的服务提供商 Illuminate\Encryption\EncryptionServiceProvider::class,
替换为您刚刚创建的服务提供商。
如果您没有更改 singleton()
函数中的第一个参数并将其保留为 encrypter
,您应该只需要这样做。如果您确实修改了它,您还需要创建一个新外观并更新 app/config.php
中的 aliases
数组。