Pourquoi utiliser un vecteur d'initialisation en PHP avec openssl

SuperRobot Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
J'utilises openssl en PHP, le problème, c'est qu'il y a un avertissement
Warning: openssl_encrypt(): Using an empty Initialization Vector (iv) is potentially insecure and not recommended in C:\wamp64\www\__stream\v1\crypt-link.php on line 5
.
Quelqu'un pourrait-t'il m'expliquer pourquoi ce n'est vraiment pas sécurisé de ne pas utiliser ce vecteur et comment l'utiliser ?
Merci d'avance...
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

La doc php indique :

Émet une erreur de niveau E_WARNING si une valeur vide est passé comme paramètre iv.

Et concernant le paramètre IV

iv : Un vecteur d'initialisation non-nul.


Tu trouveras, dans la doc, un exemple de génération d'IV
 $ivlen = openssl_cipher_iv_length($cipher);
    $iv = openssl_random_pseudo_bytes($ivlen);


https://www.php.net/manual/fr/function.openssl-encrypt.php
-1