微信公众号制作开发 微信小程序定制开发 网站建设制作 手机app软件开发

您的位置:首页 > 技术观点 > 信息详情

MySQL与PHP的AES加密解密

来源:山东鸿软信息科技有限公司  阅读量:5  时间:2025-06-09 14:15

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')));

执行结果:

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


2.2、解密

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

执行结果:

MyData


本文标签:

成为您更加专业的技术合伙人

网站建设 | APP开发 | 产品服务 | 技术观点 | 关于我们      客服电子邮箱:1828087588@qq.com  客服QQ:1828087588、1421667633  电话:151-6502-2080

Copyright © 2016-2025 山东鸿软信息科技有限公司 版权所有 https://www.greatsoft.cn 鲁ICP备16026454号