当前位置:   article > 正文

mysql 加密解密函数 以及中文解码乱码问题_mysql aes解密函数

mysql aes解密函数
  1. MYSQL加密解密AES_ENCRYPT,AES_DECRYPT
  2. 废话不多说,先演示非中文方式
  3. 错误示范:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  4. 直接看效果
  5. 加密
  6. SELECT AES_ENCRYPT("123abc","key") FROM DUAL;
  7. 结果
  8. =钿巫?V极Ш
  9. 将上述乱码解密
  10. SELECT AES_DECRYPT("诤=钿巫?V极Ш","key") FROM DUAL;
  11. 结果
  12. NULL
  13. 正确用法:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  14. 使用TO_BASE64,FROM_BASE64或者 HEX,UNHEX(16进制转换)
  15. SELECT TO_BASE64(AES_ENCRYPT("123abc","key")) FROM DUAl
  16. 结果
  17. 2ro97uTO1+U7/uJWvKunug==
  18. 解密
  19. SELECT AES_DECRYPT(FROM_BASE64("2ro97uTO1+U7/uJWvKunug=="),"key") FROM DUAL;
  20. 结果
  21. 123abc
  22. 但是上述方法对中文读取还是会存在乱码
  23. 存储带中文的字符:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  24. 接下来用HEX演示,和to_base64一样
  25. 加密
  26. SELECT HEX(AES_ENCRYPT("123abc张三","key")) FROM DUAL
  27. 结果
  28. 90CAC577B7E1E2F31A5403A68DA168F0
  29. 解密
  30. SELECT CONVERT(AES_DECRYPT(UNHEX("90CAC577B7E1E2F31A5403A68DA168F0"),"key") USING UTF8MB4) FROM DUAL;
  31. 结果
  32. 123张三
  33. 注意后面的编码需要和数据库一致

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/717415
推荐阅读
相关标签
  

闽ICP备14008679号