PHP AES 256加密奇怪的字符

时间:2013-04-13 20:15:53

标签: php mysql encryption aes mcrypt

我有以下加密代码:

function encryptData($value){ 
   $key = "7685647tfyr65413285746352413sgfh"; 
   $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, $key, $text, MCRYPT_MODE_ECB, $iv); 
   return $crypttext; 
}

echo 'Encrpt: ' . encryptData('This is just a test');

输出为:加密:yUB F3 *ľ G- d 8 f _ X/ O

我要把它放到mySQL数据库中,但是不确定它是否会接受那些类型的奇怪字符?

我这样做是否正确?

1 个答案:

答案 0 :(得分:1)

是的,您正在正确执行,但输出是二进制值。要保存,最好通过

将其编码为“常规”字符串
$encrypted_base64 = base64_encode($crypttext);

请记住在解码前执行反向;

$crypttext = base64_decode($encrypted_base64);