如何加密整个列

Posted

技术标签:

【中文标题】如何加密整个列【英文标题】:how can I encrypt an entire column 【发布时间】:2011-04-16 22:03:13 【问题描述】:

我正在设置一个邮件服务器,我是密码表的 mysql。目前它使用 ENCRYPT() 函数进行保护,但是我有一个大的 CSV 我想导入其中密码都是纯文本的。有什么办法可以将这些作为纯文本导入,然后运行查询以在整个列上运行 ENCRYPT() 并更新所有内容?

【问题讨论】:

【参考方案1】:

您可以通过简单的更新来做到这一点:

UPDATE your_table SET password_col = ENCRYPT(password_col,'some salt')

或者,如果您使用LOAD DATA INFILE 来填充表格,那么您可以加密密码:

LOAD DATA INFILE '/tmp/data.csv' INTO TABLE your_table 
(col1,...,@password,...,coln) 
set password_col = ENCRYPT(@password,'some salt')

【讨论】:

以上是关于如何加密整个列的主要内容,如果未能解决你的问题,请参考以下文章

始终加密 - SQL Server 2016 如何在加密列上使用用户案例语句

如何使用对称密钥加密和解密 SQL Server 中的整数数据类型列

如何加密 MySQL 表中的特定列?

如何在 EF Core 中通过 Fluent Api 创建加密列

如何更新整个选定的同一列?

如何散列整个 Redshift 表?