mcrypt_generic_init - инициализирует все буферы для шифрования.
Описание
int mcrypt_generic_init (resource td, string key, string iv)
Максимальный размер ключа должен быть получен вызовом функции mcrypt_enc_get_key_size(), и каждое значение меньше полученного будет правильным. IV должен нормально
иметь размер блока алгоритма, но вы обязаны получить этот размер вызовом mcrypt_enc_get_iv_size().
IV игнорируется в ECB. IV ОБЯЗАН существовать в режимах CFB, CBC, STREAM, nOFB
и OFB. Он должен быть случайным и уникальным (но не секретным).
Этот же самый IV обязан использоваться для шифрования/дешифрования. Если вы
не хотите использовать его, вы должны установить его в нули, но это не
рекомендуется. Функция возвращает отрицательное значение при ошибке.