AES 在 MySQL 中解密整行
本文关键字:解密 MySQL AES | 更新日期: 2023-09-27 18:37:04
我使用的代码块如下:
SELECT * FROM crypted_tbl WHERE Username=AES_ENCRYPT('aydu', 'usa2010');
当我使用此命令时,我得到
”`‡œ™uûx“¢Í®i
‘¨åµüÐzêlæZ1ØÝ
GN“bˆg(ž÷’8
(用户名、密码、授权类型)
如何使用 MySQL 命令解密整行?
恐
怕您将不得不显式解密每一列,而不是尝试解密*。如果你只使用MySQL,你必须做:
SELECT AES_DECRYPT(column1, 'seed'), AES_DECRYPT(column2, 'seed'), etc.
WHERE Username=AES_ENCRYPT('aydu', 'usa2010');
如果要在 c# 或其他平台中生成语句,则可以查询表结构并动态生成 SELECT 语句,这样就不必将每个列名硬编码到 SELECT 中。只需注意在每次查询之前查询表结构对性能的影响。
SELECT * FROM `information_schema`.`tables`
WHERE table_name = 'crypted_tbl';