簡體   English   中英

MySQL - 如何存儲AES_Encrypted數據?

[英]MySQL - How to store AES_Encrypted data?

所以我一直在瀏覽互聯網,並且遇到了MySQL內置函數AES_ENCRYPT。 它似乎並不太難使用,但有些消息來源告訴我將加密數據存儲為VARCHAR,有人說將其存儲為BLOB。 我應該將加密數據存儲為什么?

許多加密和壓縮函數返回結果可能包含任意字節值的字符串。 如果要存儲這些結果,請使用具有VARBINARY或BLOB二進制字符串數據類型的列。 這將避免可能會更改數據值的尾隨空格刪除或字符集轉換的潛在問題,例如,如果使用非二進制字符串數據類型(CHAR,VARCHAR,TEXT),則可能會出現此問題。

資料來源: http//dev.mysql.com/doc/refman/5.5/en/encryption-functions.html

如果需要使用VARCHAR而不是BLOB,則將加密的二進制文件轉換為僅使用可打印字符的Base64,並且可以安全地存儲為VARCHAR。 當然,在解密之前,您需要將它從Base64轉換回二進制。

我總是使用blob在MySQL中存儲加密數據。

你可以使用二進制。 STRING中的BINARY。 它必須工作。 我正在使用它。 如果它不起作用,請給我回答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM