MySQL 自动加密 password 通常指的是在用户注册或修改密码时,系统自动对密码进行加密处理,以确保存储在数据库中的密码是安全的。这种加密过程通常使用哈希算法(如 SHA-256、bcrypt 等)来实现。
原因:为了保护用户密码的安全,防止密码泄露后被轻易破解。
解决方法:确保在用户注册、修改密码等操作时,使用合适的加密算法对密码进行加密处理,并将加密后的值存储到数据库中。
解决方法:
DELIMITER //
CREATE TRIGGER encrypt_password_before_insert
BEFORE INSERT ON users
FOR EACH ROW
BEGIN
SET NEW.password = SHA2(NEW.password, 256);
END;
//
CREATE TRIGGER encrypt_password_before_update
BEFORE UPDATE ON users
FOR EACH ROW
BEGIN
IF NEW.password <> OLD.password THEN
SET NEW.password = SHA2(NEW.password, 256);
END IF;
END;
//
DELIMITER ;
import hashlib
def encrypt_password(password):
return hashlib.sha256(password.encode()).hexdigest()
# 示例:用户注册
def register_user(username, password):
encrypted_password = encrypt_password(password)
# 将 username 和 encrypted_password 存储到数据库中
企业创新在线学堂
企业创新在线学堂
云+社区沙龙online [技术应变力]
云+社区沙龙online [国产数据库]
腾讯云数据库TDSQL(PostgreSQL版)训练营
腾讯云数据库TDSQL训练营
DB-TALK 技术分享会
云+社区技术沙龙[第17期]
腾讯云数据库TDSQL(PostgreSQL版)训练营
云+社区技术沙龙[第20期]
DB TALK 技术分享会
云+社区技术沙龙 [第32期]
领取专属 10元无门槛券
手把手带您无忧上云