2015-10-15 1 views
2

je veux utiliser d'autres chiffrements autres que AES-128/AES-256 qui sont codés en dur standard dans \vendor\laravel\lumen-framework\config\app.php et même Encrypter ou McryptEncrypter utiliser ceux-ci.Comment puis-je utiliser dans laravel autre chiffre autre que les normes AES-128, AES-256?

Si je dois apporter des modifications afin qu'il puisse utiliser d'autres modes de chiffrement/modes, documents fournis n'avez pas des informations ..

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 version5.1.*

+0

Vous pouvez étendre 'HashServiceProvider' et utiliser votre propre méthode. La section [Extension du cadre] (http://laravel.com/docs/5.0/extending#container-based-extension) de la documentation de Laravel explique en fait ce cas précis. Cela devrait également s'appliquer à Lumen. – Bogdan

+0

@Bogdan mauvais fournisseur; vous voulez le cryptage, pas le hachage. – Amelia

+0

@Amelia vrai, mon mauvais :). – Bogdan

Répondre

2

Vous devez créer votre propre implémentation de Illuminate\Contracts\Encryption\Encrypter

Créez un nouveau fournisseur de services pour votre implémentation. Vous pouvez suivre Illuminate\Encryption\EncryptionServiceProvider comme un guide lâche.

Remplacez le fournisseur de services Illuminate\Encryption\EncryptionServiceProvider::class, par app/config.php par celui que vous venez de créer.

Si vous n'avez pas modifié le premier paramètre de la fonction singleton() et l'avez laissé comme encrypter, cela devrait être tout ce que vous devez faire. Si vous l'avez modifié, vous devrez également créer une nouvelle façade et mettre à jour le tableau aliases dans app/config.php.