数据库的ER图
- password 类型为varchar(500),因为数据库保存的是加密后的密码,所以需要500个字符
- editor_id 引用 t_user 的id
- contend_id 关联MongoDB的内容id,MongoDB固定字符串长度为12
- is_top,是否置顶,共分为十级
数据加密
AES加密函数
- MySQL数据库提供了AES加密和解密的函数,所以数据的加密解密非常容易实现
AES_ENCRYPT(原始数据,密钥字符串)
SELECT AES_ENCRYPT ("你好世界", "ABC123456");
SELECT HEX(AES_ENCRYPT("你好世界", "ABC123456")); //转成16进制,避免乱码
AES解密函数
- AES解密要使用与加密相同的密钥,才能解密出原始数据
AES_DECRYPT(加密结果,密钥字符串)
SELECT
AES_DECRYPT(
UNHEX("E85A104B6142A7375E53C0545CAD48EE"),
"ABC123456"
);
- UNHEX:将16进制转为2进制