【问题标题】:Java equivalent for PHP crypt with crypt key带有 crypt 密钥的 PHP crypt 的 Java 等效项
【发布时间】:2016-07-13 18:36:50
【问题描述】:

我正在尝试为 PHP crypt() 函数找到一个 java 等效项。我找到了here,但答案没有说明使用加密密钥进行加密。我有一个使用 md5 加密的 PHP 网站,我有一个数据表供用户使用,他们的密码像这样加密

crypt($password, CRYPT_KEY)

其中 CRYPT_KEY 是一个常数。现在我需要为 Java 项目使用相同的数据表。如何将 Java 摘要函数(或任何其他 md5 加密函数)与加密密钥一起使用?

【问题讨论】:

    标签: java php md5 crypt


    【解决方案1】:

    您的 php 版本/平台组合使用哪种哈希算法? php 的 crypt() 可以从多种算法中进行选择,详见此处:http://php.net/manual/en/function.crypt.php

    【讨论】:

    • 其实我也说不清楚。我现在可以看到这个键(或 $salt - 因为它应该被调用)应该确定带有前缀的哈希类型。我正在处理的网站上使用的 $salt 只是一个随机字符串,所以我不知道它使用的是哪种算法...
    • 这不是答案,这是评论。
    【解决方案2】:

    来自 Apache 的 commons-codec 有一个实现此功能的类 Crypt。从 1.10 版本开始,它支持以下算法:

    • CRYPT_SHA512
    • CRYPT_SHA256
    • CRYPT_MD5
    • CRYPT_STD_DES

    【讨论】:

      最近更新 更多