当前位置: 首页 > news >正文

mysql基于AES_ENCRYPTAES_DECRYPT实现密码的加密与解密

1.直接使用AES_ENCRYPT&&AES_DECRYPT函数导致的问题。

执行语句

select AES_ENCRYPT('cd123','key')

结果 加密过后的字符串是一串很奇怪的字符。

尝试使用上面加密过后的字符解密。

select AES_DECRYPT('Äu5£dö|#餹','key')

结果 并未成功的解密

2.解决办法

使用 hex() 和 unhex()处理密码。

2.1 hex()与unhex()函数

hex():将一个字符串或数字转换为十六进制格式的字符串。

unhex():把十六进制格式的字符串转化为原来的格式。每对十六进制数字转化为一个字符。执行hex(str)的逆运算。即,它将参数中的每对十六进制数字解释为一个数字,并将其转换为该数字表示的字符。结果字符将作为二进制字符串返回。参数字符串中的字符必须为合法的十六进制数字:“ 0” ..“ 9”,“ A” ..“ F”,“ a” ..“ f”。如果UNHEX在参数中遇到任何非十六进制数字,则返回NULL。

2.2 加密SQL

select hex(AES_ENCRYPT('cd123','key'))

2.3 结果 

如此加密可以直接使用varchar类型直接存储。

2.4 解密SQL

SELECT AES_DECRYPT(UNHEX('C4753517A364960F83F67C7F23E9A4B9'),'key')

2.5 结果

http://www.lryc.cn/news/158840.html

相关文章:

  • 怎么把pdf转换成jpg图片?
  • 计算机脚本的概念,如何编写、使用脚本 (Script)?
  • c语言 5.0
  • 如何配置远程访问以在外部网络中使用公司内部的OA办公系统——“cpolar内网穿透”
  • 【AI】机器学习——线性模型(线性回归)
  • 智能小车之跟随小车、避障小车原理和代码
  • 行业追踪,2023-09-07
  • Qt creator中项目的构建配置和运行设置
  • 蓝桥杯打卡Day3
  • Linux系统编程--IO
  • 亚马逊云科技通过生成式AI,帮助清华RIOS加速计算和分析的处理效率
  • 全志T113-S3入门资料汇总(避坑指南)一
  • 3dMax全球学习资源、资源文件和教程 !
  • API接口是什么?有哪些免费的API接口?
  • USB Server应用于汇丰晋信基金
  • [BSidesCF 2019]Kookie 1 , cookie伪造
  • 如何查看MySQL的安装位置
  • ui设计岗位招聘要求有哪些? 优漫动游
  • Swift报错:“‘nil‘ is incompatible with return type ‘User‘”
  • LabVIEW利用局部放电分析高压电气设备状态诊断
  • TCP/IP UDP广播无法发送或接收
  • 清理Maven仓库中下载失败的文件
  • 服贸会2023 | 希尔贝壳入选“智赋百业”人工智能融合发展与安全应用典型案例
  • axios请求多个服务器
  • vs2022不能加载winform界面
  • CMakeList.txt
  • 华为云使用脚本初始化Linux数据盘
  • leetcode 129. 求根节点到叶节点数字之和
  • 嵌入式开发-11 Linux下GDB调试工具
  • Java测试(11) --- selenium