【问题标题】:Error during encrypt a file using Mcrypt DES in php在 php 中使用 Mcrypt DES 加密文件时出错
【发布时间】: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


【解决方案1】:

您需要确保已安装、配置和启用 mcrypt 模块,然后才能使用pkcs5_pad 功能。安装和配置会根据您的平台而有所不同,请查看the documentation 寻求帮助。

【讨论】:

    猜你喜欢
    • 2012-07-27
    • 2011-01-24
    • 2011-01-27
    • 2015-09-04
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多