2016-04-01 5 views
-1

テキストファイルを暗号化したい。以下は私のコードです。しかし、私は実行中に関数エラーを取得しています。PHPでMcrypt DESを使用してファイルを暗号化する際のエラー

<?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 
+0

'pkcs5_pad'は標準機能ではありません。あなたはそれを含めましたか? –

+0

私は何の機能も含んでいません。私はphp.iniファイルでextension = php_mcrypt.dllのコメントを外してxamppを再起動しました。 – bKashOST

+0

さて、PHP/mcryptに 'pkcs5_pad'が存在するという考えはどこで得られましたか?おそらく、これをコピーしたコードを再訪し、欠落している機能を含める必要があります。とにかく、今日はmcryptを使うべきではありません。それは放棄されたものです。 php-defuseのようなものを使うべきです。 –

答えて

0

あなたはmcryptのモジュールは、インストール、構成、およびあなたがpkcs5_pad機能を使用する前に有効になっていることを確認する必要があります。インストールと設定はお使いのプラットフォームによって異なるため、the documentationを参照してください。

関連する問題