Description
int
mcrypt_generic_init ( resource td, string key, string iv )
The maximum length of the key should be the one obtained by
calling mcrypt_enc_get_key_size() and every
value smaller than this is legal. The IV should normally have
the size of the algorithms block size, but you must obtain the
size by calling mcrypt_enc_get_iv_size().
IV is ignored in ECB. IV MUST exist in CFB, CBC, STREAM, nOFB
and OFB modes. It needs to be random and unique (but not secret).
The same IV must be used for encryption/decryption. If you do not
want to use it you should set it to zeros, but this is not
recommended.
The function returns a negative value on error, -3 when the key length
was incorrect, -4 when there was a memory allocation problem and any
other return value is an unknown error. If an error occurs a warning will
be displayed accordingly. FALSE is returned if incorrect parameters
were passed.
You need to call this function before every call to
mcrypt_generic() or
mdecrypt_generic().
See for an example mcrypt_module_open().