Wallogit.com
2017 © Pedro Peláez
chiffrement de données
La classe jemdev\chiffrement\crypt de cette librairie est obsolète : l'extension mcrypt devient obsolète à partir de PHP 7.1 et sera retirée dès la version 7.2, ce qui veut dire que cette classe deviendra inutilisable. Un remplacement par l'utilisation de l'extension OpenSSL est désormais disponible avec la classe jemdev\chiffrement\cryptopenssl dans la même librairie, (*1)
Les méthodes disponibles sont les mêmes dans les deux classes. Quelques modifications dans la classe chiffrement\crypt ont abouti à la création d'une Interface : le constructeur de chacun des deux retourne donc une interface plutôt que la classe elle-même., (*2)
La classe originale a été réalisée suite a un très bon didactitiel d'introduction au chiffrement avec la librairie de chiffrement mcrypt posté par Ripat sur Lumadis.be : le développement de la nouvelle classe cryptopenssl a été fait de sorte que le passage de 'une à l'autre ne requiert que de modifier l'appel du constructeur. Toutefois, attention lors de la transition : il n'y a pas de « mode » dans la classe cryptopenssl contrairement à l'autre s'appuyant sur mcrypt., (*3)
La création d'une instance ne change pas spécialement en dehors du paramètre « mode » qui a disparu:, (*4)
$brouilleur = new cryptopenssl($grainDeSel, $iv = null, $algo = "aes-256-cbc", $locale = 'fr');
L'utilisation est des plus simples. À partir d'une instance de jemdev\chiffrement\cryptopenssl, il y a principalement deux méthodes à utiliser :, (*5)
Le constructeur de la classe ne requiert obligatoirement que le premier paramètre indiquant un grain-de-sel, chaîne de caractère qui sera utilisée dans la phase de chiffrement. On peut ensuite indiquer :, (*6)
Utilisant peu cette classe, je ne ferai pas une description beaucoup plus détaillée. Mais la classe est largement commentée, n'hésitez pas à vous référer à ces commentaires directement dans le code pour davantage de précisions sur les détails des méthodes., (*7)
Des tests unitaires ont été introduits avec le développement de la classe jemdev\chiffrement\cryptopenssl, (*8)
My english level is not sufficient to write a good documentation in english. But if you're natively english speaking and understanding well french, please, feel free to write a translation. Enjoy this library., (*9)