【转载请注明出处:https://leytton.blog.csdn.net/article/details/115372462】

0、序言

在项目过程中,经常需要对id等数据进行加密在前端显示,后台解密查询,本文旨在解决MySQL和PHP数据交互的加解密问题。

1、MySQL

1.1、加密

执行加密函数

select HEX(AES_ENCRYPT('MyData','SecretKey'))

AES_ENCRYPT加密后是二进制,使用HEX函数转化成十六进制字符串
结果:

HEX(AES_ENCRYPT('MyData','SecretKey'))
41F580580FD9919AD31E15A1B7164654

对字段进行查询输出加密后的id:

SELECT HEX(aes_encrypt(`id`,'SecretKey')),id FROM `goods` where id=1;

结果:

HEX(aes_encrypt(`id`,'SecretKey'))   id
ACFC3C2B7A9ED0474C0061A372922E63    1

1.2、解密

SELECT AES_DECRYPT(UNHEX('41F580580FD9919AD31E15A1B7164654'),'SecretKey')

结果:

AES_DECRYPT(UNHEX('41F580580FD9919AD31E15A1B7164654'),'SecretKey')
MyData

2、PHP

2.1、加密

echo bin2hex(base64_decode(openssl_encrypt('MyData','aes-128-ecb', 'SecretKey')));

执行结果:

41f580580fd9919ad31e15a1b7164654

2.2、解密

echo openssl_decrypt(base64_encode(hex2bin('41f580580fd9919ad31e15a1b7164654')), 'aes-128-ecb', 'SecretKey');

执行结果:

MyData

MySQL与PHP的AES加密解密相关推荐

  1. MySQL自带的AES加密解密比较常用的使用方法

    接手的老项目中,有些SQL使用了MySQL自带的AES加密解密,为了方便操作数据,研究了一下使用方法,在这里记录一下. 加密 update user_password set password = H ...

  2. java php aes加密解密_php aes 加密解密可与java对接

    php aes 加密解密可与java对接 博主:liu1693 发表时间:2017-02-23 16:52:27 浏览量:100 class Encrypt{ //加密方法 public static ...

  3. android、ios、php之间AES加密解密

    使用原因: 因为在项目中,需要在与客户端(IOS,Android)交互的时候,保存一些私有信息,不被别人看到,所以,使用了比较流行的可以反向加解密的AES. PHP 源码 <?php$aes = ...

  4. python 加密解密_python实现AES加密解密

    本文实例为大家分享了python实现AES加密解密的具体代码,供大家参考,具体内容如下 (1)对于AES加密解密相关知识 (2)实现的功能就是输入0-16个字符,然后经过AES的加密解密最后可以得到原 ...

  5. AES加密解密算法Java实现

    AES加密算法是密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DE ...

  6. openssl与cryptoAPI交互AES加密解密

    原文: http://blog.csdn.net/zhouyuqwert/article/details/7422467 有读者指出代码贴两遍,修改下. 继上次只有CryptoAPI的加密后,这次要实 ...

  7. c php aes加密解密,php的AES加密解密

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. $privateKey = "1234567812345678"; $ ...

  8. 理解AES加密解密的使用方法

    很多人对于AES加密并不是很了解,导致互相之间进行加密解密困难. 本文用简单的方式来介绍AES在使用上需要的知识,而不涉及内部算法.最后给出例子来帮助理解AES加密解密的使用方法. AES的麻烦 相比 ...

  9. C#中使用DES和AES加密解密

    代码 using System; using System.Text; using System.Security.Cryptography; using System.IO; namespace M ...

最新文章

  1. 探索--是测试的必须品
  2. 常用数据库的 扩展名 格式 后缀 端口
  3. Python 命令汇总
  4. 子组件上下结构布局自适应父组件宽度高度
  5. USACO-Section1.6 Superprime Rib (枚举)
  6. Android中 广播发送 和 接受 的简单示例
  7. [置顶]千年潜规则一语道破
  8. java框架注入是创建对象吗_spring之IOC容器创建对象
  9. 滴滴这名员工的N+1飞了,离职带走公司文档
  10. 股指期货基差和升贴水介绍
  11. Linux 通信机制 I/O多路复用之select
  12. SpringCloud五大核心组件
  13. 转载:手机银行技术讨论3
  14. 【十三香吗?】网易严选-苹果12商品评论数据可视化分析
  15. eclipse写程序从hdfs上下载文件到本地报错:at org.apache.hadoop.util.Shell.runCommand
  16. UWB,可以应用到生活中的方方面面
  17. Linux多定时器实现之二
  18. PHP制作音乐播放器制作教案,js制作简单的音乐播放器的示例代码
  19. 百度排名批量查询_黄岛主:不限字数给你讲透百度霸屏引流细节思路与操作玩法...
  20. 登录拦截之后,登录页面出现在iframe的src里面

热门文章

  1. easyUI设置textbox的值
  2. 看汽车用品分析报告,盛世昊通聊汽车后市场前景
  3. 微信怎么做到快捷回复消息?
  4. java基础入门课后答案黑马程序员
  5. 一起校园凶杀案引起的思考
  6. Android Studio(0)开发开篇 环境搭建 创建工程 2020.3.1版本 虚拟手机
  7. 关于Vue2.0中引入jQuery
  8. Python爬取阴阳师式神全图鉴图片
  9. 活用Excel高级筛选解决实际问题
  10. Linux命令 - groupadd命令