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 エンコードであることがわかりました。これは、文字列が何らかの形で null 文字で埋め込まれていることを意味しますか? だから私は現在トリム()を使ってそれらを取り除きますが、なぜこれが起こっているのか理解したいと思います.