Perl Crypt :: CBC (Rijndael, cbc)로 암호화 된 암호화 된 문자열이 있습니다. 원본 평문은 Crypt :: CBC의 encrypt_hex() 메소드로 암호화되었습니다.Perl CBC로 암호화하고 PHP mcrypt로 해독
$encrypted_string = '52616e646f6d49567b2c89810ceddbe8d182c23ba5f6562a418e318b803a370ea25a6a8cbfe82bc6362f790821dce8441a790a7d25d3d9ea29f86e6685d0796d';
사용 된 32 자 키가 있습니다.
mcrypt가 성공적으로 PHP로 컴파일되었지만 PHP에서 문자열의 암호를 해독하려고 애 쓰고 있습니다. 나는 계속 변덕스러워지고있다.
압축을 풀면 ('H *', $ encrypted_string) 'RandomIV'다음에 바이너리처럼 보입니다.
실제로 IV를 추출하고 실제 암호화 된 메시지를 분리 할 수 없습니다. 나는 내 정보를 제공하지 않는다는 것을 알고 있지만 어디서부터 시작해야할지 모르겠습니다.
$cipher = 'rijndael-256';
$cipher_mode = 'cbc';
$td = mcrypt_module_open($cipher, '', $cipher_mode, '');
$key = '32 characters'; // Does this need to converted to something else before being passed?
$iv = ?? // Not sure how to extract this from $encrypted_string.
$token = ?? // Should be a sub-string of $encrypted_string, correct?
mcrypt_generic_init($td, $key, $iv);
$clear = rtrim(mdecrypt_generic($td, $token), '');
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
echo $clear;
어떤 도움이 올바른 방향으로 포인터는 크게 감상 할 수있다. 추가 정보를 제공해야하는지 알려주세요.