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

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. Vous pouvez l'envoyer avec vos 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.

  Notez que la valeur par défaut de ce paramètre était `MCRYPT_DEV_RANDOM` avant PHP 5.6.0.

  > Note: Notez que la constante `MCRYPT_DEV_RANDOM` peut se bloquer en attendant que d'autre anthropie ne soit disponible.

### Valeurs de retour

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

### Historique

Version | Description
--- | ---
5.6.0 | `MCRYPT_DEV_URANDOM` est maintenant la valeur par défaut du paramètre `source`.
5.3.0 | `MCRYPT_DEV_RANDOM` et `MCRYPT_DEV_URANDOM` deviennent disponibles sous Windows.
5.3.0 | Il n'est plus nécessaire d'appeler srand() dans un premier temps. Cet appel est maintenant fait automatiquement.

### 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() - Génère des octets pseudo-aléatoire cryptographiquement sécurisé