У меня есть код, который выглядит примерно так:
$cipher_alg = MCRYPT_RIJNDAEL_128;
$decrypted_string = mcrypt_decrypt($cipher_alg, $key,
$encrypted_string , MCRYPT_MODE_CBC, trim(hex2bin(trim($hexiv))));
Я волнуюсь, что в процессе декодирования mcrypt_decrypt
вводит безвозмездное пробел или нулевые символы в начале или в начале $decrypted_string
.
Так что я должен обрезать его?
Примечание. Я мог бы запустить код и узнать об этом. Но поскольку я никогда не смогу запустить достаточное количество проб, чтобы доказать (или опровергнуть) мою мысль, мне нужны конкретные и теоретические ответы, вероятно, основанные на внутренней работе алгоритма mcrypt_decrypt
. Еще одна причина, по которой я спрашиваю, это то, что я верю, что это поможет другим.
Примечание 2: Несмотря на нижеприведенный ответ (теперь удаленный и только пользователи из 10K могут видеть его), кажется, что примеры здесь используют обрезку для получения правильной расшифрованной строки.