Crée un vecteur d'initialisation (IV) à partir d'une source aléatoire

# mcrypt_create_iv

(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_create_iv — Crée un vecteur d'initialisation (IV) à partir d'une source aléatoire

Avertissement

Cette fonction est OBSOLÈTE à partir de PHP 7.1.0 et a été SUPPRIMÉE à partir de PHP 7.2.0.

Les alternatives à cette fonction incluent :

- random_bytes()

### Description

function mcrypt_create_iv(int `$size`, int `$source` = MCRYPT_DEV_URANDOM): string

mcrypt_create_iv() crée un IV (vecteur d'initialisation) à partir d'une source aléatoire.

Le vecteur d'initialisation est le seul moyen de fournir une initialisation de remplacement aux méthodes d'initialisation. Ce vecteur n'a pas besoin d'être particulièrement secret, même si c'est mieux. Il est possible de l'envoyer avec les documents chiffrés sans perdre en sécurité.

### Liste de paramètres

`size`
  La taille du vecteur.
`source`
  La source d'un IV. La source peut être `MCRYPT_RAND` (le générateur de nombre aléatoire du système), `MCRYPT_DEV_RANDOM` (lit les données depuis /dev/random) et `MCRYPT_DEV_URANDOM` (lit les données depuis /dev/urandom). Avant la version 5.3.0, `MCRYPT_RAND` était la seule constante supportée par Windows. À noter que la valeur par défaut de ce paramètre était `MCRYPT_DEV_RANDOM` avant PHP 5.6.0.

  > Note: À noter que la constante `MCRYPT_DEV_RANDOM` peut se bloquer en attendant que plus d'entropie ne soit disponible.

### Valeurs de retour

Retourne le vecteur d'initialisation, ou bien `false` en cas d'erreur.

### Exemples

Exemple #1 Exemple avec mcrypt_create_iv()

    <?php
         $size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
         $iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
         ?>

### Voir aussi

- » http://www.ciphersbyritter.com/GLOSSARY.HTM#IV
- » http://www.quadibloc.com/crypto/co0409.htm
- Chapter 9.3 of Applied Cryptography by Schneier (ISBN 0-471-11709-9)
- random_bytes() - Récupère des octets aléatoires cryptographiquement sécurisés

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open