1
有沒有辦法對數據庫中的字段進行加密,並且仍然有有用的索引?加密字段上的MySQL索引
例如,在醫療領域,您需要加密患者信息。如果我在患者姓名字段上執行此操作,是否有辦法仍然能夠對解密值進行索引?
我想在場上使用AES_ENCRYPT()
,但真的想知道是否有一個技巧來對解密值進行索引,而不是字段值(將被加密)。
有沒有辦法對數據庫中的字段進行加密,並且仍然有有用的索引?加密字段上的MySQL索引
例如,在醫療領域,您需要加密患者信息。如果我在患者姓名字段上執行此操作,是否有辦法仍然能夠對解密值進行索引?
我想在場上使用AES_ENCRYPT()
,但真的想知道是否有一個技巧來對解密值進行索引,而不是字段值(將被加密)。
AES_ENCRYPT()
和AES_DECRYPT()
是功能。所以更籠統的問題是:
MySQL可以索引函數嗎?
從MySQL 5.6
開始的答案是否定的,儘管你可以在其他sql引擎中看到這個。例如oracle
已經完成了這個工作,因爲8i
和MS SQL
自從2000
開始執行此操作。
看起來這可能在Maria DB 5.2
(https://mariadb.com/kb/en/mariadb/virtual-computed-columns/)中,這是MySQL的社區版本分支。
參考文獻:
如果你認爲AES功能將讓數據更加安全,記住,代碼是現在漏洞的臨界點,因爲必須在您的代碼中訪問'鑰匙'。 –