基于MySQL的加密解密方式

工具

  1. mysql 8
  2. navicat

初级加密解密

最无脑的加密,原文为aaa,密钥为aaabbbccc

SELECT AES_ENCRYPT("aaa","aaabbbccc");

加密出的密文是一串二进制乱码:
在这里插入图片描述
但由于是乱码,解析过程就会出现问题:

SELECT AES_DECRYPT('8�º�{DTpВ�+b','aaabbbccc');

在这里插入图片描述

密文转十六进制

为了能看懂加密结果及更好的解析,我们将加密结果转换成十六进制密文:

SELECT HEX(AES_ENCRYPT("aaa","aaabbbccc"))

在这里插入图片描述
解析过程如下,将得到的十六进制字符串转化成二进制,然后用密钥进行反解析即可:

SELECT AES_DECRYPT(UNHEX('380A8AC2BAF1AA7B445470D092EF2B62'), 'aaabbbccc');

在这里插入图片描述

更高级的加密

我们也可以将密钥aaabbbccc通过MD5进行加密:

SELECT MD5('aaabbbccc')

在这里插入图片描述
这里的字符串就是将aaabbbccc通过MD5加密后的密文。
然后用aaabbbccc加密后的字符串对原文进行加密:

SELECT HEX(AES_ENCRYPT("aaa","d1aaf4767a3c10a473407a4e47b02da6"));

在这里插入图片描述
然后用aaabbbccc的MD5加密后的密文当作密钥进行解密:

SELECT AES_DECRYPT(UNHEX('B3B53CC242DDE3103A0B096E0CCD2385'), MD5('aaabbbccc'))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值