iT邦幫忙

0

有一 mysql table 裝有個人資料
打算將某部分 field 的資料做 encryption

想問有經驗的大大

  1. 做了 encryption 的 field, 在沒有任何記錄下, 有沒有可能知道哪一個 field 是做了 encryption 的嗎? (只需要知道是否做了 encryption , 不需要知道做了哪種 encryption)
  2. field 有很多種類型, 如 encrypt 的對象資料型態是 date / datetime, 一般情況下該怎樣做才正確? (因為沒可能只是將 date/datetime encrypt 後放回原位 [encrypt 後的是 binary data], 否則是 data type error)

謝謝。

有時候, 自己問題都須要自己親身解決才行, 在此作一記錄給後來的人參考
1. 是沒有可能的
2. 因此很多需要encrypt 的 field , 在 table 的規劃structure的時候, 都會設定為 varbinary 型態 (AES_Encrypt 後的值是 binary) , 以後取回encrypted value 解密後, 以 convert function 將 binary 值轉為合適的data type, 所以需要使用另一個 table 儲存哪個是 encrypted field 及其 original data type 才可將資料解密回到正確 data type.

如有謬誤之處, 請不吝賜教

尚未有邦友回答

立即登入回答