Để mã hóa và giải mã trong MySQL, hãy sử dụng AES_ENCRYPT () và AES_DECRYPT () trong MySQL -
chèn vào giá trị yourTableName (AES_ENCRYPT (yourValue, yourSecretKey)); chọn truyền (AES_DECRYPT (yourColumnName, yourSecretKey) as char) fromyourTableName;
Để hiểu cú pháp trên, trước tiên chúng ta hãy tạo một bảng -
mysql> tạo bảng demo63−> (-> value blob−>); Truy vấn OK, 0 hàng bị ảnh hưởng (2,60 giây)
Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert. Chúng tôi đang mã hóa trong khi chèn -
mysql> chèn vào các giá trị demo63 (AES_ENCRYPT ('John', 'PASS')); Truy vấn OK, 1 hàng bị ảnh hưởng (0,18 giây) mysql> chèn vào các giá trị demo63 (AES_ENCRYPT ('David', 'PASS')); Truy vấn OK, 1 hàng bị ảnh hưởng (0,41 giây) mysql> chèn vào các giá trị demo63 (AES_ENCRYPT ('123456', 'PASS')); Truy vấn OK, 1 hàng bị ảnh hưởng (0,41 giây)
Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -
mysql> select * from demo63;
Điều này sẽ tạo ra kết quả sau -
+ ------------------------------------ + | giá trị | + ------------------------------------ + | 0x16D8A4F11321D761920783BF96BB8314 || 0x0A85099F705F21D27B0129C54C4473AA || 0xAB7C6D6068BC100B0F04D1C4EA068AC9 | + ------------------------------------ + 3 hàng trong bộ (0,00 giây)Sau đây là truy vấn để giải mã -
mysql> chọn cast (aes_decrypt (value, 'PASS') AS char) từ demo63;Điều này sẽ tạo ra kết quả sau -
+ ------------------------------------------ + | ép kiểu (aes_decrypt (value, 'PASS') AS char) | + ----------------------------------- ------- + | John || David || 123456 | + ------------------------------------------ + 3 hàng trong bộ (0,00 giây)