如何使用PHP中的TripleDes对文件进行加密和解密

时间:2012-05-11 17:06:50

标签: php encryption tripledes

我找不到关于这个主题的足够资源,我需要学习如何使用PHP中的TripleDes加密和解密文件(上传时应加密文件,下载文件时应解密)。

我也发现了一些例子但我无法实现它 http://php.net/manual/en/mcrypt.examples.php http://stackoverflow.com/questions/10548386/issue-with-encrypt-and-decrypt-a-word-docx-file-in-php

感谢您的兴趣。

1 个答案:

答案 0 :(得分:2)

您可以使用此代码加密字符串:

$buffer = $file; 
// get the amount of bytes to pad
$extra = 8 - (strlen($buffer) % 8);
// add the zero padding
if($extra > 0) {
    for($i = 0; $i < $extra; $i++) {
        $buffer .= "\0";
    }
}
// very simple ASCII key and IV
$key = "passwordDR0wSS@P6660juht";
$iv = "password";
// hex encode the return value
$encrypted_file = mcrypt_cbc(MCRYPT_3DES, $key, $buffer, MCRYPT_ENCRYPT, $iv);

这是解密它:

$decrypted_file = mcrypt_cbc(MCRYPT_3DES, $key, $encrypted_file, MCRYPT_DECRYPT, $iv);