The return value is a length in bytes. (Not bits, or anything else.)
(PHP 5 >= 5.3.3, PHP 7, PHP 8)
openssl_cipher_iv_length — Récupère la longueur cipher iv
Récupère la longueur cipher du vecteur d'initialisation.
cipher_algo
La méthode cipher, voir la fonction openssl_get_cipher_methods() pour une liste de valeurs potentielles.
Retourne la longueur cipher en cas de succès,
ou false
si une erreur survient.
Émet une erreur de niveau E_WARNING
lorsque
l'algorithme cipher est inconnu.
Exemple #1 Exemple avec openssl_cipher_iv_length()
<?php
$method = 'AES-128-CBC';
$ivlen = openssl_cipher_iv_length($method);
echo $ivlen;
?>
Résultat de l'exemple ci-dessus est similaire à :
16
<?php$ciphers = openssl_get_cipher_methods();//ECB mode should be avoided$ciphers = array_filter($ciphers, function ($n) { return stripos($n, "ecb") === FALSE;}); // At least as early as Aug 2016, Openssl declared the following weak: RC2, RC4, DES, 3DES, MD5 based$ciphers = array_filter($ciphers, function ($c) { return stripos($c, "des") === FALSE;});$ciphers = array_filter($ciphers, function ($c) { return stripos($c, "rc2") === FALSE;});$ciphers = array_filter($ciphers, function ($c) { return stripos($c, "rc4") === FALSE;});$ciphers = array_filter($ciphers, function ($c) { return stripos($c, "md5") === FALSE;});if (is_array($ciphers)) { foreach ($ciphers as $cipher) { echo $cipher.': '; echo openssl_cipher_iv_length($cipher); echo "<br>\n"; }}?>Will be...AES-xxx-xxx is 16BF-xxx is 8CAMELLIA-xxx is 16CAST5-xxx is 8IDEA-xxx is 8SEED-xxx is 16lower case:aes-xxx-xxx are mixed between 16 and 12.id-aes-xxx are mixed between 12 and 8.The values above are tested with PHP 5.5 - 5.6 on Windows. In PHP 7.x is different than this.