【发布时间】:2016-07-21 09:10:43
【问题描述】:
我想加密一个文本文件。下面是我的代码。但是我在运行过程中遇到了函数错误。
<?php
$key = '123456';
$plain_text = pkcs5_pad(file_get_contents('yourFile.txt'));
/* Open module, and create IV */
$td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, '');
$key = substr($key, 0, mcrypt_enc_get_key_size($td));
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM);
/* Initialize encryption handle */
mcrypt_generic_init($td, $key, $iv);
/* Encrypt data */
$encrypted = mcrypt_generic($td, $plain_text);
mcrypt_generic_deinit($td);
file_put_contents('yourFile.txt.enc', $encrypted);
?>
我遇到了错误。请帮我解决这个问题。
Fatal error: Call to undefined function pkcs5_pad() in C:\xampp\htdocs\data\encrypt.php on line 4
【问题讨论】:
-
pkcs5_pad不是标准函数。你包括了吗? -
我没有包含任何功能。我刚刚在 php.ini 文件中取消注释 extension=php_mcrypt.dll 并重新启动 xampp。你能告诉我解决方案吗..
-
那么,您从哪里得知
pkcs5_pad存在于 PHP/mcrypt 中?也许您应该重新访问您从中复制的代码并包含缺少的功能。无论如何,你现在不应该使用 mcrypt。是弃用。你应该使用类似 php-defuse 的东西。 -
感谢您的建议。能给个教程链接吗???
标签: php encryption mcrypt encryption-symmetric des