【发布时间】:2016-11-18 13:07:38
【问题描述】:
我用了两张桌子。
table1: Employees table 我有两列id, employees_id(类型:Long)
table2: Salary table 我有两列 id, employees_encrpted_id(Type: String)
注意:
1.两个表的公共字段是Employees表中的employees_id(这里我们存储在员工id中)和Salary表中的employees_encrpted_id (我们使用加密方法加密员工id然后存储)
2.我已经解密了方法(名字是decrypt)。可以将该方法绑定到 mysql 查询。我试过这样
"select * from employees as emp,salary as s where emp.employees_id = CAST("+decrypt("s.employees_encrpted_id")+"AS UNSIGNED)"
但会抛出错误“[MySQLSyntaxErrorException:您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ')' 附近使用正确的语法]”
【问题讨论】:
-
假设您还没有这样做,(只是)加密薪水会容易得多(可能包括 id 到密码中,以防止两个相同的薪水看起来相同)。而且它实际上要安全得多,因为通常可以从其他信息中得出结论,它可以(或不能)是哪个 id,例如如果表包含历史,第一次进入的日期对应于加入公司的日期,升职对应于加薪,进入的次数可能与在公司的工作时间有关,最高薪水可能属于老板(或 dba ), ...
标签: mysql scala encryption playframework