gpt4 book ai didi

java - 如何比较mysql和JAVA中的二进制文件

转载 作者:行者123 更新时间:2023-11-30 01:25:45 31 4
gpt4 key购买 nike

我有一个数据库,其中列(密码)数据类型之一是 Binary(60)。

我在java中使用密码作为STRING,并尝试将来自java(来自用户界面)的密码与MySQL中的密码(作为二进制)进行比较。

但它从来没有给我任何结果..

请指导什么数据类型/值能够与二进制类型进行比较

谢谢

最佳答案

将数据库字段配置为二进制字符串可能并不理想,但也不是问题。

问题但是,您打算直接将密码存储在那里。请不要这样做,因为这会造成重大安全缺陷。

按照另一个答案中的建议对其进行哈希处理更好,但仍然不是很好。问题是,有所谓的彩虹表,可以使用它来反向查找哈希值到其原始值。

您至少需要使用加盐哈希( https://en.wikipedia.org/wiki/Salt_(cryptography) ),甚至更好,使用 bcrypt 或 PBKDF2(请参阅 Password Verification with PBKDF2 in Java )之类的东西来创建用户提供的密码的安全哈希。这些哈希值将具有固定长度,并且可以轻松地作为二进制字符串存储在给定的数据库字段中。

检查用户条目时,只需再次执行相同的功能并将其与数据库内容进行比较即可。当然,您必须使用 SSL 将密码从客户端传输到服务器。

关于java - 如何比较mysql和JAVA中的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18015458/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com