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 存储到数据库中
领取专属 10元无门槛券
手把手带您无忧上云