mcrypt_generic
mcrypt_generic
(PHP 4 >= 4.0.2, PHP 5, PHP 7)
mcrypt_generic - 此函数加密数据
警告
这个函数从 PHP 7.1.0 开始已经被 DEPRECATED 了。依靠这个功能是非常不鼓励的。
描述
string mcrypt_generic ( resource $td , string $data )
该功能加密数据。数据填充“ \ 0
”以确保数据的长度为 n * blocksize。该函数返回加密数据。请注意,由于填充数据,返回字符串的长度实际上可能比输入长。
如果要将加密数据存储在数据库中,请确保存储由 mcrypt_generic 返回的整个字符串,否则字符串将无法完全正确解密。如果您的原始字符串长度为10个字符且块大小为8(使用 mcrypt_enc_get_block_size()来确定块大小),则数据库字段中至少需要16个字符。注意由 mdecrypt_generic()返回的字符串也是16个字符使用 rtrim($ str,“\ 0”)来删除填充。
例如,如果您将数据存储在 MySQ L数据库中,请记住 varchar 字段在插入过程中会自动删除尾随空格。由于加密数据可能以空格结尾(ASCII 32),因此删除数据将被损坏。将数据存储在 tinyblob / tinytext(或更大)字段中。
参数
td
加密描述符。
在调用此函数之前,应始终使用 mcrypt_generic_init()用密钥和IV初始化加密句柄。在加密完成后,您应该通过调用 mcrypt_generic_deinit()来释放加密缓冲区。有关示例,请参阅 mcrypt_module_open()。
data
要加密的数据。
返回值
返回加密的数据。
也可以看看
- mdecrypt_generic() - Decrypts data
- mcrypt_generic_init() - 此函数初始化加密所需的所有缓冲区
- mcrypt_generic_deinit() - 此函数取消初始化加密模块
← mcrypt_generic_init
mcrypt_get_block_size →