MySQL是一種流行的關系型數據庫,提供了多種加密算法,其中AES(Advanced Encryption Standard)被廣泛使用。AES使用128、192或256位密鑰對數據進行加密和解密。它是一種對稱加密算法,意味著相同的密鑰用于加密和解密。
CREATE TABLE users ( id INT(11) AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL, password VARBINARY(255) NOT NULL );
在MySQL中使用AES加密,需要使用函數AES_ENCRYPT。以下是一個使用AES加密插入用戶密碼的示例:
INSERT INTO users (username, password) VALUES ('admin', AES_ENCRYPT('password123', 'secret'));
在查詢中,我們可以使用以下語法來檢索加密后的密碼:
SELECT AES_DECRYPT(password, 'secret') FROM users WHERE username = 'admin';
請注意,使用AES加密在一定程度上保護了數據的機密性,但仍然可能存在安全漏洞。因此,建議使用額外的安全措施,例如使用HTTPS,密碼強度策略,多因素身份驗證等。