加密mysql中的密码时出错

时间:2015-07-03 09:42:28

标签: mysql

我创建了这样的表

create table my(username varchar(23),
                rolnumber varchar(12),
                pword varchar(50));

尝试插入像这样的值

insert into my 
            values ('sandeep','10r81a0229',aes_encrypt('ori12','sand12'));

收到错误:

1366字符串值不正确

1 个答案:

答案 0 :(得分:0)

AES_ENCRYPT()返回无法存储在VARCHAR字段中的二进制数据。您应该使用适当的字段类型,例如blob。

来自manual

如果要存储二进制值,例如可能包含任意字节值的加密或压缩函数的结果,请使用BLOB列而不是CHAR或VARCHAR列