2011-01-06 189 views
0
 
set_include_path('./phpseclib0.2.1a'); //http://phpseclib.sourceforge.net/ 
include('Crypt/AES.php'); 

$plaintext = 'PLAINTEXT'; 

$aes = new Crypt_AES(CRYPT_AES_MODE_CBC); 
$aes->setKey('1234123412341234'); 
$ciphertext = $aes->encrypt($plaintext); 
$fp = fopen("ciphertextAES", "wb"); 
fwrite($fp, $ciphertext); 
fclose($fp); 


--------------------------- 

openssl enc -aes-128-cbc -d -in ciphertextAES -out plaintext.txt -pass pass:1234123412341234 -nosalt 
bad decrypt ????????????????????????? 
3840:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:.\crypto\evp\evp_enc.c:466: 

+2

这段代码有问题吗?你想做什么?请更具描述性,以便我们可以帮助你。 – Andre 2011-01-06 16:52:40

回答

1
openssl enc -aes-128-cbc -e -in plaintext.txt -out ciphertext -nosalt -K AA 
-iv AA -p 

-p说明你的密钥和IV使用:

key=AA000000000000000000000000000000 
iv =AA000000000000000000000000000000 

略去-K-iv参数和使用-pass,而是和你”你会发现密码和密钥并不完全相同。无论是否使用-nosalt选项,情况都是如此。