Quelle est la meilleure façon de crypter les fichiers en AES-256 avec PHP?
J'ai trouvé des tutoriels en ligne qui peut aider mais je ne suis pas sûr qu'il y a les meilleures options. Je voudrais crypter le fichier avec le niveau de sécurité de l'algorithme (je suis un peu parano) mais en même temps, je suis à la recherche de vitesse (je sais c'est un peu contradictoire)... j'ai Donc choisi AES-256... Mais quelle est la meilleure façon d'utiliser l'algorithme AES-256 avec PHP crypter des fichiers?
Voulez-vous pour chiffrer/déchiffrer avec la même clé/mot de passe, ou vous voulez que ce soit asymétrique?
Je veux crypter/décrypter avec la même clé/mot de passe.
Je veux crypter/décrypter avec la même clé/mot de passe.
OriginalL'auteur jnbdz | 2011-11-18
Vous devez vous connecter pour publier un commentaire.
PHP 5.x et 7.0.x
Pour un algorithme symétrique, utilisez Mcrypt.
Remarque bien qu'il peut être risqué, à partir d'un point de vue sécurité, pour utiliser cette bibliothèque, sans savoir ce qu'il fait. Jetez un oeil à quelques des solutions prêtes à l'.
(D'ailleurs, les algorithmes de chiffrement supportés sont ici).
PHP 7.1.x+
L'extension Mcrypt a été dépréciée en 7.1 et retiré dans la section 7.2, de sorte que vous aurez besoin d'une alternative. Utilisation De Sodium à la place.
Merci @slashingweapon. D'intérêt, pourquoi ne pourrait-mode-elle être évitée?
La version courte: Si vous chiffrer le texte clair X de la BCE avec le même sel à chaque fois, vous obtiendrez toujours le même résultat. Cela correspond très faible de la sécurité. La version longue: Cryptographie Appliquée
Heh, je suis sûr que c'est un bel ouvrage, mais les bibliothèques comme Mcrypt devrait être assez simple à utiliser, sans la lecture de la Guerre Et de la Paix
;-)
C'est pourquoi je vous ai donné la réponse la plus courte.
OriginalL'auteur halfer
PHP Mcrypt fichier en fonction de chiffrement symétrique avec AES-256, (stockage IV que les 16 premiers octets du fichier), et à l'aide de sha256 hmac pour le chiffrement authentifié:
voir: http://php.net/manual/en/filters.encryption.php
AES-256 est une faiblesse connue, de sorte que vous pouvez utiliser une clé 16 octets pour déclencher AES-128 dans ce code
voir: https://www.schneier.com/blog/archives/2009/07/another_new_aes.html
MCRYPT_RIJNDAEL_128
pour l'AES au lieu de compatibilité.Exemple de travail de l'AES-256 (pas de Rijndael-256) en PHP: blog.la tourelle.io/les-disparus-php-aes-chiffrement-exemple
OriginalL'auteur velcrow