【问题标题】:How to mysql database encrypt and use in Coldfusion如何在 Coldfusion 中加密和使用 mysql 数据库
【发布时间】:2016-01-14 16:44:59
【问题描述】:

我们的客户发送该文件的 CSV 文件(平均 30 万条记录)。我们导入到我们的 mysql 数据库中。

在从 CSV 文件导入数据时,我可以加密 (SHA1) 吗? 如何向数据库发送查询(选择、插入和更新)?来自coldfusion或mysql。

如果我们在从 CSV 文件导入时无法加密数据。解决办法是什么? 在从 csv 文件导入数据后,这个新要求最近来自客户。我们必须从我们的系统中正确处理 csv 文件。

数据库架构已经存在,我们必须加密的当前数据以及即将到来的 CSV 数据。

【问题讨论】:

  • 如果是mysql函数,将文件加载到临时表并在那里加密。
  • @scott 这是我不知道从哪里开始的问题昨天从客户那里收到了新的要求,从那时起我正在寻找解决方案我以前从未这样做过谢谢大家的快速回复...
  • @RSSCE - 这当然是一个有效的问题,但在单个 S.O. 中回答 too broad 是一种方式。帖子,并且很可能被关闭。首先搜索“mysql encrypt on import”,看看有什么可能。五秒钟的搜索出现了this thread,这表明使用LOAD DATA INFILE 时可能会出现这种情况。另外,查看 MySQL 文档中的 available encryption functions 并从那里开始。
  • @ Keshav jha 我正在尝试这些示例 INSERT INTO en_phoneBook_encrypted` (fname,Lname,cell) select (AES_ENCRYPT(fname,'ph2015'), AES_ENCRYPT(Lname,'ph2015'), AES_ENCRYPT(cell, 'ph2015')); from en_phoneBook select AES_DECRYPT(fname,'ph2015'), AES_DECRYPT(Lname,'ph2015'), AES_DECRYPT(cell,'ph2015') from en_phoneBook_encrypted 结果来自 fname - lname - cell BLOB - BLOB - BLOB

标签: mysql encryption coldfusion coldfusion-9


【解决方案1】:

数据库:

插入:

 INSERT INTO en_phoneBook_encrypted 
    (fname,Lname,cell) 
    Values
    (AES_ENCRYPT(fname,'ph2015'),
    AES_ENCRYPT(Lname,'ph2015'), 
    AES_ENCRYPT(cell,'ph2015')) 
    from en_phoneBook_encrypted

选择:

select CAST(AES_DECRYPT(fname,'ph2015')AS CHAR (50)) AS FirstName, 
CAST(AES_DECRYPT(Lname,'ph2015')AS CHAR (50)) AS LastName, 
CAST(AES_DECRYPT(cell,'ph2015')AS CHAR (50)) AS CellNumber 
from en_phoneBook_encrypted

冷融合:

插入:

<cfquery>
INSERT INTO  en_phoneBook_encrypted
(fname,Lname,cell) 
Values
(
  AES_ENCRYPT('21234562','dbkey'),  
  AES_ENCRYPT('ABC','dbkey'),  
  AES_ENCRYPT('XYZ','dbkey') 
);
</cfquery>    

更新:

<cfquery   result="upd" >
        UPDATE en_phoneBook_encrypted
            SET 
            fname   = AES_ENCRYPT('ABC','dbkey')
            ,Lname  = AES_ENCRYPT('XYZ','dbkey')
            ,cell   = AES_ENCRYPT('123','dbkey')    
            where  CAST(AES_DECRYPT(PKID,'dbkey')  AS CHAR(50)) = '2123456' 
</cfquery>
<cfdump var="#upd#">

希望对某人有所帮助:)


【讨论】:

  • &lt;cfset pid = 0000233&gt; &lt;cfset kk = ''ph2015''&gt; &lt;cfquery result="r"&gt; select * from en_phoneBook_encrypted where pidpk = &lt;cfqueryparam value="CAST(AES_DECRYPT('#pid#','#kk#') AS CHAR(50))" cfsqltype="cf_sql_varchar"/&gt; &lt;/cfquery&gt; &lt;cfdump var="#r#"&gt;
  • 你能帮帮我吗...我没有得到输出也没有错误
  • @rssce - 很难将这么多代码压缩成注释块。使用问题下方的“编辑”链接将其添加到此处。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-13
  • 1970-01-01
  • 2019-07-01
  • 2014-08-28
  • 2021-07-13
  • 1970-01-01
相关资源
最近更新 更多