使用BCrypt JAVA(在Smartfox服务器上)访问PHP密码问题

问题描述 投票:0回答:2

所以我有一个运行php的wesbite,它使用诸如此类的行加密所有密码

password_hash($_POST['password'], PASSWORD_BCRYPT, $options)

并按如下所示验证密码

$passwordCheck = password_verify($password, $row['password']);

选项变量为:

$options = ['cost' => 00];

我已经排除了带00的数字,但是当然,还有其他一些不确定的事情对我来说,不给出该数字是否有意义。

这里是问题,我正在运行在Java中运行的SmartFox服务器。我正在使用登录助手(也许我可能不需要,请继续阅读),它尝试比较以纯文本密码发送给我的密码,当然MySql密码使用的是BCrypt。现在,在它引用的文档中,我可以将注册设置为使用Md5,因此我想我必须能够支持这种类型的密码检查。

使用md5http://docs2x.smartfoxserver.com/api-docs/asdoc/com/smartfoxserver/v2/util/PasswordUtil.html

登录助手文档http://docs2x.smartfoxserver.com/DevelopmentBasics/login-assistant

我相信我可以尝试以下方法,但请不要犹豫告诉我从另一个角度进行研究,或者其中一个方法不起作用(因为我不了解哈希/加密/盐/彩虹表等):

我可以在我从中发送密码的c#应用程序中转换密码,并让服务器针对数据库进行检查吗?>

如果预处理器告诉我它是否匹配,我可以使用预处理器来转换密码并检查它,并将密码设置为数据库中的密码吗?>

如果BCrypt在Java上不可用,则让Java执行php脚本

所以我有一个运行php的wesbite,它使用诸如password_hash($ _ POST ['password'],PASSWORD_BCRYPT,$ options)之类的行加密所有密码,并按如下所示验证密码$ passwordCheck = ...

java passwords bcrypt
2个回答
0
投票

我认为您在进行哈希处理,而不是对密码进行加密,如果我没记错的话。由于PHP中的BCrypt可以同时使用,因此名称很重要。

[避免使用MD5,如今它已被认为已损坏-您具有在线搜索http://www.hashkiller.co.uk/和分布式的暴力破解工具,可能甚至需要几个小时或更短的时间才能破坏新的MD5哈希。


0
投票

[在Java here中有BCrypt的实现。我在几个应用程序中都使用了它。我什至实现了一个GUI来生成散列并测试匹配的纯文本。 BCryptGenerator

© www.soinside.com 2019 - 2024. All rights reserved.