mcrypt 拡張機能の使用: http://us.php.net/manual/en/book.mcrypt.php
次のようなものが実現可能です:
$pass = 'password_string_to_be_encrypted';
$string = 'password_string_to_be_decrypted';
$salt = 'your_salt';
$pepper = 'your_extra_salt';
$encrypted = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $salt . $pass . $pepper ), $string, MCRYPT_MODE_CBC, md5( md5( $salt . $pass . $pepper ))));
$decrypted = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256, md5($salt . $pass . $pepper), base64_decode( $string ), MCRYPT_MODE_CBC, md5( md5( $salt . $pass . $pepper))), "\0");
編集:間違っていることが証明されたので、暗号化の md5 部分を削除することをお勧めします。何が良いかはまだわかりませんが、調査に十分な時間ができたら、投稿を更新しようと思います..申し訳ありません! :)