【问题标题】:Java + PHP Encryption Algorithm ImplementationJava+PHP加密算法实现
【发布时间】:2014-08-26 03:55:45
【问题描述】:

我正在使用this 站点进行加盐哈希。

我有一个 Java 应用程序,上面链接中的 PBKDF2 加密系统的 Java 实现运行良好,它生成哈希值并使用 PBKDF2WithHmacSHA1 算法对其进行解码。我正在尝试使用相同的算法在 PHP 中复制注册过程,但我无法让它工作。

Reference For Java Algorithm Names

可以更了解安全性的人帮助我更改上面链接中的 PHP 实现,以便它可以与 Java 版本中的 PBKDF2WithHmacSHA1 算法一起使用吗?

(如果您希望我发布源代码,我可以,但实际上与链接中的相同)

到目前为止我尝试过的:

  1. 将 PHP 版本中的哈希算法更改为 PBKDF2WithHmacSHA1,但会抛出 PBKDF2 ERROR: Invalid hash algorithm.

  2. 将 Java 算法更改为 SHA256,但 Java 代码似乎与 PHP 代码不匹配,所以它只是错误。

  3. 正在 here 寻找正确的算法,但没有找到。

总体目标是让用户在网站上注册并登录桌面应用程序。任何指针将不胜感激(我很乐意提供更多细节,但我仍在学习安全方面,所以如果你发现我正在尝试做的任何大问题,你能解释一下!)

【问题讨论】:

  • 我不明白为什么 sha256 不起作用它应该是一样的,唯一会扔掉它的是你提到加盐,你必须用同样的方式加盐,测试将准确地获取您正在散列的内容(就在之前)并用两者进行散列,算法应该与编程语言无关。
  • 就目前而言,当我使用 Java 版本进行散列时,它产生的字符串比我使用 PHP 版本时要长得多,PHP 版本似乎也使用 : 而Java版本不是
  • 有很多php+pbkdf2 问题,尤其是this one 甚至有一个php 工作代码。

标签: java php encryption hash


【解决方案1】:

从 php 文档中试试这个

http://www.php.net/manual/en/function.hash-hmac.php

这是一个高效的 PBDKF2 实现:( 2nd or 3rd down )

【讨论】:

  • 这是一个仅链接的答案。您应该在答案本身中提供相关的解释和代码。
猜你喜欢
  • 1970-01-01
  • 2012-09-13
  • 2011-03-15
  • 1970-01-01
  • 2022-06-23
  • 2014-04-17
  • 2017-07-01
  • 2011-12-20
  • 1970-01-01
相关资源
最近更新 更多