如何使用加密字段搜索MySQL数据库
表中有4列。我将加密值存储到encryptemployeesId。有数千条记录可用。我只想使用员工SID显示特定记录。请帮助我们如何使用加密字段搜索MySQL数据库,mysql,scala,encryption,Mysql,Scala,Encryption,表中有4列。我将加密值存储到encryptemployeesId。有数千条记录可用。我只想使用员工SID显示特定记录。请帮助我们 idint encryptemployeesIdvarchar 密钥varchar 工资varchar 注意:encrypteemployeesId是动态的 如果您有存储员工加密ID的表,那么您需要相同的加密算法来搜索数据库。 例:: 1) 加密算法每次在数据库中创建新条目时都会加密您的员工ID 2) 在搜索\u employee\u by_id()方法中使用加密算法
注意:encrypteemployeesId是动态的 如果您有存储员工加密ID的表,那么您需要相同的加密算法来搜索数据库。 例:: 1) 加密算法每次在数据库中创建新条目时都会加密您的员工ID 2) 在搜索\u employee\u by_id()方法中使用加密算法,如下所示:
function search_employee_by_id(int id) {
response = encrypt_algorithm(id); //encrypts emplyoeeid you want to search say 5
query.execute("SELECT * FROM EMPLOYEE where encrypted_id =:encryptemployeesId"); //employee id 5(encrypted) matches any employee with id 5.
}
希望这有帮助同时加密和保存密钥有什么好处?我使用两种算法进行加密。1.AES算法2。我使用AES获得一些值,然后逐字符转换。密钥的主要目的是加密字段是动态的。如果我使用secret_key,那么只有它返回正确的值。juergen的问题是:加密主要用于隐藏/保护数据不被人发现。如果您将密钥与数据一起存储(实际上:存储在数据库中的任何位置),就相当于在您的借记卡上写入pincode,这只会保护您免受盲人的伤害。如果你只想保护自己不受盲人的伤害,这些盲人不认识(将来也不认识)任何能看见、不拥有(或将拥有或建造)一台能从照片中读取文本的机器的人,这将是一种可能的方法。但通常情况下,情况并非如此。这就是为什么你的银行不允许它。没有得到结果,因为我可以插入两行具有相同employeeId(如1),但其存储不同的加密值。EncryptionValue是动态的@jason