gpt4 book ai didi

java - 加盐和散列密码、Java 和 PHP 兼容性

转载 作者:太空宇宙 更新时间:2023-11-04 13:36:43 25 4
gpt4 key购买 nike

我正在尝试制作一款与网站内容相关的游戏,并且用户的帐户将在网站的多个版本的客户端之间共享。

问题是密码需要在 PHP 中进行盐散列,并且我需要能够通过 Java 进行验证,并且我找不到任何有关安全 cryptos(例如 PBKDF2)的信息,也无法确保 PHPJava 之间的生成相同。

我已经看到了一些关于在 PHP 上使用 PBKDF2HmacSHA-1 的信息,但没有按照 Java 的“PBKDF2WithHmacSHA1”名称中建议的那样将它们组合起来。我现在掌握了 PHPJava 的单独哈希处理。

如何设置方法才能在 PHP 上生成盐和哈希值,将其存储在 MySQL 中,并能够通过 Java 的哈希函数验证密码?

如果可能的话,我更愿意坚持使用PBKDF2(除非有人可以建议一个可以更好地实现交叉兼容性的等效方案)。

附注不太确定这是否应该出现在此处或 Crypto SE 上。我想,既然我问的是特定语言,我就先在这里尝试一下。

最佳答案

所以,事实证明它并没有我想象的那么复杂。我发现this question也就是说,PHP 相当于 JavaPBKDF2WithHmacSha1 是具有 sha1 算法的 hash_pbkdf2 函数。从那里,只需将 salthashPHP 传输到 Java 即可。结果是这样的:

1) PHP:对于这个,我只是复制了这个人的 pbkdf2 函数并像他一样生成盐和哈希。

2) Java:所需要做的只是在字节码转换中进行一些更改,并且效果很好。

之后,我需要做的就是修改 Java 代码以适应我的服务器/客户端设置(包括辅助 session 哈希),并解决更多围绕通过网络传输的 salthash 编码和解码的错误,现在它可以完美运行。

针对其他问题提供了稍微更详细的答案。

关于java - 加盐和散列密码、Java 和 PHP 兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31623706/

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