所有资讯
微信公众号
微信小程序
手机App

MySQL与PHP的AES加密解密

浏览量:48    日期: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


本文标签:
 
成为您更加专业的技术合伙人
服务热线:15165022080
加微信号:15165022080
客服QQ:1828087588、1421667633
电子邮箱:1828087588@qq.com
 
软件开发咨询:15165022080