比如數據表中有一個手機號碼字段是敏感字段,不想明文存儲,可以是用MySQL的自帶的函數處理
Table 12.17 Encryption Functions
Name | Description |
---|---|
AES_DECRYPT() |
Decrypt using AES |
AES_ENCRYPT() |
Encrypt using AES |
UNHEX() |
Return a string containing hex representation of a number |
HEX() |
Hexadecimal representation of decimal or string value |
利用thinkPHP5.0中簡單和MySQL交互
這樣后續系統中就 可以 使用加密后的字段, 明文字段過渡完后可以刪除
SQL 語句實現如下:
select AES_DECRYPT(UNHEX(encrypt_mobile),'WO_SHI_YAN_ZHI') as username from dd_user where username = '15800000001';
UPDATE `dd_user` SET `encrypt_mobile`= HEX(AES_ENCRYPT('15800000001','WO_SHI_YAN_ZHI')) WHERE `user_id` = 675509;