我有以下加密代码:
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数据库中,但是不确定它是否会接受那些类型的奇怪字符?
我这样做是否正确?
答案 0 :(得分:1)
是的,您正在正确执行,但输出是二进制值。要保存,最好通过
将其编码为“常规”字符串$encrypted_base64 = base64_encode($crypttext);
请记住在解码前执行反向;
$crypttext = base64_decode($encrypted_base64);