Pourquoi utiliser un vecteur d'initialisation en PHP avec openssl

SuperRobot Messages postés 30 Statut Membre -  
jordane45 Messages postés 30427 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...

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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