【发布时间】:2014-12-03 04:38:05
【问题描述】:
我正在将值插入数据库,但我需要加密密码,然后将特殊字符插入其中。我使用的是mysql数据库,编码是在普通的php程序中完成的。
PHP PROGRAM
$mysecretkey = 'd5k8b6q3';
$password=(AES_ENCRYPT('$v4','$mysecretkey')); // problem is here in encryption
$q="insert into customers (name,username,email,password) values('$v1','$v2','$v3','$password')";
$s= mysql_query($q);
if(!$s)
{
$r["re"]="Inserting problem in database";
print(json_encode($r));
}
else
{
$r["re"]="Record inserted successfully";
}
但是当我执行代码而不是加密它时,我得到了错误
Fatal error: Call to undefined function AES_ENCRYPT() in ..../checking.php on line 5
如何解决这个问题以及其他细节是数据库中的密码字段是 varchar,我正在从 POST 变量 v1、v2、v3、v4 中获取数据,并且在上面的代码中添加了测试密钥。
当我在 AES 加密后将密码设置为 "test123" 时,必须插入的数据是 "÷A5jèŸ2A1::h "
感谢您的帮助和时间朋友........请告诉如何解决这个问题
【问题讨论】:
-
您需要在
AES_ENCRYPT()部分周围加上“”。另外,默认使用AES_ENCRYPTMYSQL 函数isn't very secure。 -
当然我会努力让你认识我的朋友@MisterDood
标签: php mysql encryption aes