我有以下加密代码:
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');
输出为:Encrpt:yUB-F3-f 8-f-X/O
我将把它放到一个mySQL数据库中,但不确定它是否会接受这些奇怪的字符类型?
我这样做对吗?
最佳答案
是的,您做得很正确,但是输出是一个二进制值。为了节省,最好通过
$encrypted_base64 = base64_encode($crypttext);
只要记住在解码之前做相反的事情;
$crypttext = base64_decode($encrypted_base64);
关于php - PHP AES 256加密奇怪的字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15992443/