Java 加密MYSQL数据库中的值

Java 加密MYSQL数据库中的值,java,mysql,Java,Mysql,我有两张表,分别是员工和用户 Employee_id是user_master中的外键 我需要在将Employee_id的值插入user_主表时加密该值 但是外键关系应该保持。。。我们如何做到这一点您可以使用某种中间表,它将有两列:Employee\u id和Encrypted\u empi\u id,然后您的用户主控器可以使用相应的Encrypted\u empi\u id作为密钥。我不确定这对你来说是否是一个可行的模式,只是一个想法 您可以使用MD5获取emp id的加密版本,也可以反转加密版

我有两张表,分别是员工和用户

Employee_id是user_master中的外键

我需要在将Employee_id的值插入user_主表时加密该值


但是外键关系应该保持。。。我们如何做到这一点

您可以使用某种中间表,它将有两列:
Employee\u id
Encrypted\u empi\u id
,然后您的
用户主控器可以使用相应的
Encrypted\u empi\u id
作为密钥。我不确定这对你来说是否是一个可行的模式,只是一个想法


您可以使用MD5获取emp id的加密版本,也可以反转加密版本以获取准确的原始emp id。

我知道您不能这样做,因为您可能会遇到错误

Cannot add or update child row: a foreign key constraint fail......
外键应具有与其引用字段相同的值和类型


我对此不太确定,你也可以参考《布山邮报》。另一种方法是,将外键设置为普通字段,如果字段与引用字段相关,则由查询处理。当然,外键还有普通字段所没有的其他用途。

在这种情况下为什么要加密它?在有人进入数据库的情况下,如何阻止他们简单地执行
从user\u master中选择user\u master.field加入employee\u master ON(…)
以获取加密的员工id的值?@Matthew Scharley如果我们将加密的员工id放入user\u master中,我们能保持外键关系吗