Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Salting和Hash密码、Java和PHP兼容性_Java_Php_Hash_Salt_Pbkdf2 - Fatal编程技术网

Salting和Hash密码、Java和PHP兼容性

Salting和Hash密码、Java和PHP兼容性,java,php,hash,salt,pbkdf2,Java,Php,Hash,Salt,Pbkdf2,我正在尝试制作一款与网站内容相结合的游戏,用户帐户将在网站上共享多个版本的客户端 问题是密码需要在PHP中进行盐散列,我需要能够通过Java进行验证,并且我找不到任何关于安全加密的信息(如PBKDF2),并确保PHP和Java之间的生成是相同的 我已经看到了一些关于在PHP上使用PBKDF2的信息,或者Hmac与SHA-1一起使用的信息,但是没有像Java的“PBKDF2与hmacsha1的名称中建议的那样将它们组合起来。我现在掌握了PHP或Java的散列 如何设置方法,以便能够在PHP上生成s

我正在尝试制作一款与网站内容相结合的游戏,用户帐户将在网站上共享多个版本的客户端

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

我已经看到了一些关于在
PHP
上使用
PBKDF2
的信息,或者
Hmac
SHA-1
一起使用的信息,但是没有像Java的“
PBKDF2与hmacsha1
的名称中建议的那样将它们组合起来。我现在掌握了
PHP
Java
的散列

如何设置方法,以便能够在
PHP
上生成salt和hash,将其存储在
MySQL
中,并能够通过Java的hash函数验证密码

如果可能的话,我更愿意坚持使用
PBKDF2
(除非有人能推荐一种更适合交叉兼容性的等效产品)


顺便说一句,我不太确定这是否应该在这里,还是在加密服务器上。我想,既然我问的是特定的语言,我就先试试这里。

所以,事实证明它并不像我想象的那么复杂。我发现说
PHP
相当于
Java
PBKDF2WithHmacSha1
hash_pbkdf2
函数和
sha1
算法。从这里开始,只需将
salt
hash
PHP
传输到
Java
。结果是这样的:

1)
PHP
:对于这一个,我只是复制了这个家伙的
pbkdf2
函数,并像他那样生成了salt和hash

2)
Java
:所需要做的只是字节码转换中的一点变化,它工作得很好

在那之后,我所需要做的就是修改
Java
代码以适应我的服务器/客户端设置(包括二次会话散列),并解决更多
salt
hash
编码和解码周围的一些错误,通过网络传输,它现在工作得很好


关于另一个问题,有一个稍微详细一点的答案。

所以,事实证明它并不像我想象的那么复杂。我发现说
PHP
相当于
Java
PBKDF2WithHmacSha1
hash_pbkdf2
函数和
sha1
算法。从这里开始,只需将
salt
hash
PHP
传输到
Java
。结果是这样的:

1)
PHP
:对于这一个,我只是复制了这个家伙的
pbkdf2
函数,并像他那样生成了salt和hash

2)
Java
:所需要做的只是字节码转换中的一点变化,它工作得很好

在那之后,我所需要做的就是修改
Java
代码以适应我的服务器/客户端设置(包括二次会话散列),并解决更多
salt
hash
编码和解码周围的一些错误,通过网络传输,它现在工作得很好


另一个问题有一个更详细的答案。

试着考虑使用预先建立的用户和密码管理。它基于OAuth2和OpenID Connect等标准,密码重置、用户注册和社交登录等都是免费的。它包括用于Java和JavaScript的连接器。显然也是可用的。

尝试考虑使用预先建立的用户和密码管理。它基于OAuth2和OpenID Connect等标准,密码重置、用户注册和社交登录等都是免费的。它包括用于Java和JavaScript的连接器。显然也有