mysql数据加密aes_encrypt()和aes_decrypt()

数据库安全性.首先创建一个用户表users 包含id,user_name两列

mysql数据加密aes_encrypt()和aes_decrypt()_第1张图片

然后创建一个aes_salt表,里面的只有一列

aes_salt表的作用是存放加密参数.也可以把加密参数存放在php常量里面.然后给aes_salt表里面添加一个数据.


这里我添加了一个数据是'names',可以随意添加.这里的names相当一个钥匙,如果忘记钥匙的名字,那么就无法解开加密的数据.
下面用了一个mysql函数,aes_encrypt('a','b') a的位置是要加密的数字或字符串的位置,b的位置是钥匙的位置
aes_decrypt('a','b')是解密函数,用法和加密函数一样

由于密钥来自于数据库,所以给mysql声明一个变量,并把aes_salt里面的值赋给变量
赋值方法是 @salt:=salt from aes_salt;


然后再users表中插入数据,并用aes_encrypt函数加密.user_name的值是'JAY'.

当查找users表中的值的时候可以用解密函数来取得,如果密钥的值不对则不能查看加密的值.

加密函数可以直接写成aes_encrypt('JAY','XXXX');但是密钥放在数据库里面更加安全.

如果mysql版本低于4.0.2,可以用encode()和decode()函数代替,语法是完全一样的!

你可能感兴趣的:(加密,mysql,数据库,PHP,解密,user)