-- 使用 AES_ENCRYPT 和 AES_DECRYPT 进行加密和解密
-- 创建一个包含加密字段的表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50),
password VARBINARY(255) -- 存储加密后的密码,使用 VARBINARY 类型
);
-- 插入加密数据
INSERT INTO users (username, password)
VALUES ('alice', AES_ENCRYPT('mypassword123', 'myencryptionkey'));
-- 查询并解密数据
SELECT
username,
CAST(AES_DECRYPT(password, 'myencryptionkey') AS CHAR) AS decrypted_password
FROM users;
-- 解释:
-- 1. AES_ENCRYPT 函数用于加密数据,第一个参数是要加密的数据,第二个参数是加密密钥。
-- 2. AES_DECRYPT 函数用于解密数据,第一个参数是要解密的数据,第二个参数是加密时使用的密钥。
-- 3. 使用 VARBINARY 类型存储加密后的数据,因为加密后的数据可能是二进制格式。
-- 4. 在查询时使用 CAST 将解密后的二进制数据转换为字符类型以便阅读。
上一篇:存储过程mysql
下一篇:mysql经纬度距离计算
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站