mcrypt encrypt adicionando um monte de '% 00' ao final da string
rabalhando com OAuth e criptografando as chaves com a seguinte função com uma string que chamaremos de 'foo' (na verdade, um token OAut
public function encrypt( $text )
{
// add end of text delimiter
$data = mcrypt_encrypt( MCRYPT_RIJNDAEL_128, $this->key, $text, MCRYPT_MODE_ECB, $this->iv );
return base64_encode( $data );
}
Quando descriptografá-lo usando a função inversa, acabo com:
Função
public function decrypt( $text )
{
$text = base64_decode( $text );
return mcrypt_decrypt( MCRYPT_RIJNDAEL_128, $this->key, $text, MCRYPT_MODE_ECB, $this->iv );
}
Resultado
foo%00%00%00%00%00%00%00%00%00%00%00%00%00%00
Editar
Olhando um pouco mais, percebi que na verdade é uma codificação de URL para% 00, o que significa que minhas strings estão de alguma forma sendo preenchidas por caracteres nulos? Atualmente, estou usando trim () para se livrar deles, mas gostaria de entender por que isso está acontecend