使用 OAuth 并使用以下函数加密密钥,该函数使用我们称之为“foo”的字符串(实际上是 OAuth 令牌)
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 );
}
当我使用反函数解密它时,我最终得到:
功能:
public function decrypt( $text )
{
$text = base64_decode( $text );
return mcrypt_decrypt( MCRYPT_RIJNDAEL_128, $this->key, $text, MCRYPT_MODE_ECB, $this->iv );
}
结果:
foo%00%00%00%00%00%00%00%00%00%00%00%00%00%00
编辑:
再看一点,我意识到它实际上是 %00 的 URL 编码,这意味着我的字符串以某种方式被空字符填充?所以我目前正在使用 trim() 来摆脱它们,但我想了解为什么会这样。