数据库加密解密
MySQL加密算法 1.不可逆加密: PASSWORD(),ENCRYPT(,),MD5(),SHA5()。 2.可逆的加密算法: ENCODE(,) DECODE(,):加密解密字符串。该函数有两个参数:被加密或解密的字符串和作为加密或解密基础的密钥。Encode结果是一个二进制字符串,以BLOB类型存储。加密成都相对比较弱。 AES_ENCRYPT(,) AES_DECRYPT(,) :加密解密字符串。该函数有两个参数:被加密或解密的字符串和作为加密或解密基础的密钥。Encode结果是一个二进制字符串,以BLOB类型存储。 加密完成之后可以用TO_BASE64()转成可见字符,然后解密的时候用FROM_BASE64转回来。 例如: SELECT TO_BASE64(AES_ENCRYPT('HelloWorld','key')); SELECT AES_DECRYPT(FROM_BASE64('MnD6XDZ0ShCHQ13bP5I6ag=='),'key');
一.加密数据库中的已经存在的数据
-- 使用脚本加密数据库中的数据 UPDATE crm_member SET phone = ( SELECT a.mima FROM ( SELECT TO_BASE64 ( AES_ENCRYPT( ( SELECT phone FROM crm_member WHERE id = 258004 ), 'key' ) ) mima ) a ) WHERE id = 258004
1 -- 数据库中已经加密的数据进行解密 2 UPDATE crm_member 3 SET phone = ( 4 SELECT 5 a.mima 6 FROM 7 ( SELECT AES_DECRYPT( FROM_BASE64 ( ( SELECT phone FROM crm_member WHERE id = 258004 ) ), 'key' ) mima ) a 8 ) 9 WHERE 10 id = 258004
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!