我是AES新手,但從我發現的有幾種模式(ECB,CBC等),不同的模式需要不同的初始化矢量要求,塊和編碼。我想下面的AES解密在PHP
Xrb9YtT7cHUdpHYIvEWeJIAbkxWUtCNcjdzOMgyxJzU/vW9xHivdEDFKeszC93B6MMkhctR35e+YkmYI5ejMf5ofNxaiQcZbf3OBBsngfWUZxfvnrE2u1lD5+R6cn88vk4+mwEs3WoAht1CAkjr7P+fRIaCTckWLaF9ZAgo1/rvYA8EGDc+uXgWv9KvYpDDsCd1JStrD96IACN3DNuO28lVOsKrhcEWhDjAx+yh72wM=
使用PHP和(文本)鍵「043j9fmd38jrr4dnej3FD11111111111」與模式CBC和全零的IV解碼。我能夠得到它與this tool,但無法在PHP中獲得它。這裏是我使用的代碼:
function decrypt_data($data, $iv, $key) {
$data = base64_decode($data);
$cypher = mcrypt_module_open(MCRYPT_RIJNDAEL_256, '', MCRYPT_MODE_CBC, '');
// initialize encryption handle
if (mcrypt_generic_init($cypher, $key, $iv) != -1) {
// decrypt
$decrypted = mdecrypt_generic($cypher, $data);
// clean up
mcrypt_generic_deinit($cypher);
mcrypt_module_close($cypher);
return $decrypted;
}
return false;
}
我想我可能失去了一些東西與base 64編碼或轉動鑰匙到進位爭先。我試着解碼很多東西,我所能產生的只是亂碼。任何幫助將非常感激。
你有一個base64編碼的字符串。在將它提供給mcrypt之前,它必須解碼回二進制垃圾。 – 2012-04-05 04:23:45
我曾試過......它可能是它的一部分,但我仍然得到了胡言亂語,即使這樣做......我會更新我的問題,以顯示它雖然 – hackartist 2012-04-05 04:28:23