是否可以在使用Mcrypt?时指定小写输出?
这是用于加密的代码示例:
public function encode($value){
if(!$value){return false;}
$text = $value;
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->skey, $text, MCRYPT_MODE_ECB, $iv);
return trim($this->safe_b64encode($crypttext));
}原因是我需要一个小写的只加密的字符串。
谢谢,
克里斯。
编辑
我正在创建一个通过电子邮件应用程序回复,让用户回复一个线程通过通知电子邮件。我使用一个独特的加密字符串作为回复电子邮件来识别它。Mcrypt输出大写和小写字符串。这对于Gmail和Outlook很好,但是Hotmail将回复地址字符串转换为小写,然后在我解密时出错。因此,我需要上面的func输出字符串为小写。
发布于 2011-03-14 12:06:12
您不能让mcrypt_encrypt为您提供所有小写输出,但您可以避免大写字母在您发送的电子邮件地址。要么查找mcrypt输出中尚未使用的其他26个字符(可能找不到许多字符)将大写字母替换为大写字母,要么仅用小写每个字母,在这些字符之前或之后放置某种标记字符,以便在传递到mcrypt_decrypt之前将它们转换回大写字母。
例如,您可以将97Ahff4DYAH9fh9f变成97_ahff4_d_y_a_h9fh9f。这两种形式之间的转换应该相对容易使用正则表达式。
发布于 2011-03-14 11:46:53
你可以自己把它放低一点。使用strtolower。
https://stackoverflow.com/questions/5298097
复制相似问题