SHA-256 加盐从 PHP 中的 Java 验证
SHA-256 with salt verifying from Java in PHP
我系统上的用户已在 Java 应用程序(来源:https://github.com/madtomic/LogIt-1/tree/master/src/main/java/io/github/lucaseasedup/logit/security)中注册,并使用 SHA-256 和 salt 散列密码。我现在想在我的 WWW 页面上添加登录系统。但是我无法验证密码。
示例用户:
- 密码:
test
- 盐:
oqhyqTbtEXYYRf8r9jJn
- 来自 JAVA 的哈希:
adf6a822c860ad7dc39eb035be1e362ad72f4535eed9a41dc8f99a122d78f5ef
PHP 测试代码:
$_POST['salt'] = "oqhyqTbtEXYYRf8r9jJn";
$_POST['hash'] = "adf6a822c860ad7dc39eb035be1e362ad72f4535eed9a41dc8f99a122d78f5ef";
$_POST['pass'] = "test";
echo("<br>HASH_HMAC ".hash_hmac("sha256", $_POST['pass'], $_POST['salt']));
echo("<br>HASH ".hash("sha256", $_POST['salt']. $_POST['pass']));
echo("<br> HASH #2 ". hash('sha256', $_POST['salt'] . hash('sha256', $_POST['pass']) ));
echo('<br>Java hash: ' . $_POST['hash']);
结果:
- HASH_HMAC
cc3dcc320479034414506c4ad44fda205b4f5687ff988fa4316edb94d05364ff
- 哈希值
b7d8154812a95e0fad70533feb8b1c8b3a53e9efcff936eb5c308d481b6594e6
- 哈希 #2
183d017d9169efbfd5f62ddfacd8d6ef631be287f17e9767fe3978bbc366444c
- Java 哈希:
adf6a822c860ad7dc39eb035be1e362ad72f4535eed9a41dc8f99a122d78f5ef
来自 PHP 的任何内容匹配 Java 哈希 :( 我应该做什么?
我认为您可以使用 PHP hash
函数并将您的 salt 与密码连接起来。
$salt = 'oqhyqTbtEXYYRf8r9jJn';
$pass = 'test';
echo hash('sha256', $pass . $salt);
输出:
adf6a822c860ad7dc39eb035be1e362ad72f4535eed9a41dc8f99a122d78f5ef
我系统上的用户已在 Java 应用程序(来源:https://github.com/madtomic/LogIt-1/tree/master/src/main/java/io/github/lucaseasedup/logit/security)中注册,并使用 SHA-256 和 salt 散列密码。我现在想在我的 WWW 页面上添加登录系统。但是我无法验证密码。
示例用户:
- 密码:
test
- 盐:
oqhyqTbtEXYYRf8r9jJn
- 来自 JAVA 的哈希:
adf6a822c860ad7dc39eb035be1e362ad72f4535eed9a41dc8f99a122d78f5ef
PHP 测试代码:
$_POST['salt'] = "oqhyqTbtEXYYRf8r9jJn";
$_POST['hash'] = "adf6a822c860ad7dc39eb035be1e362ad72f4535eed9a41dc8f99a122d78f5ef";
$_POST['pass'] = "test";
echo("<br>HASH_HMAC ".hash_hmac("sha256", $_POST['pass'], $_POST['salt']));
echo("<br>HASH ".hash("sha256", $_POST['salt']. $_POST['pass']));
echo("<br> HASH #2 ". hash('sha256', $_POST['salt'] . hash('sha256', $_POST['pass']) ));
echo('<br>Java hash: ' . $_POST['hash']);
结果:
- HASH_HMAC
cc3dcc320479034414506c4ad44fda205b4f5687ff988fa4316edb94d05364ff
- 哈希值
b7d8154812a95e0fad70533feb8b1c8b3a53e9efcff936eb5c308d481b6594e6
- 哈希 #2
183d017d9169efbfd5f62ddfacd8d6ef631be287f17e9767fe3978bbc366444c
- Java 哈希:
adf6a822c860ad7dc39eb035be1e362ad72f4535eed9a41dc8f99a122d78f5ef
来自 PHP 的任何内容匹配 Java 哈希 :( 我应该做什么?
我认为您可以使用 PHP hash
函数并将您的 salt 与密码连接起来。
$salt = 'oqhyqTbtEXYYRf8r9jJn';
$pass = 'test';
echo hash('sha256', $pass . $salt);
输出:
adf6a822c860ad7dc39eb035be1e362ad72f4535eed9a41dc8f99a122d78f5ef