我在計數器模式下用AES加密了一個字符串,它並沒有用PHP完成,我也無法讓mcrypt解碼:(有一個類按預期工作: http://www.movable-type.co.uk/scripts/aes.html(見頁面底部),但它是緩慢的,所以我想用mcrypt的解密PHP:在計數器模式下使用mcrypt解密AES
根據班decrypt
方法我沒有如下:
$key = $_POST['key'];
$length = strlen($key);
if($length > 32)
$key = substr($key, 0, 32);
$cyphered = base64_decode($_POST['cyphered']);
/// make initialization vector with first 8 bytes treated as integers
$f8b = array_map('ord', str_split(substr($cyphered, 0, 8)));
array_unshift($f8b, 'I8');
$iv = call_user_func_array('pack', $f8b);
print mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, substr($cyphered, 8), 'ctr', $iv);
而結果是在輸出垃圾:(我不我不明白我做錯了什麼,請問有人能解決這個問題嗎?
你現在可能已經解決了這個問題,但我只是好奇什麼平臺,加密庫是最初加密的字符串? – curtisdf