【问题标题】:What is the equivalent PHP decryption for this Java encryption method?这种 Java 加密方法的等效 PHP 解密是什么?
【发布时间】:2013-03-24 15:37:20
【问题描述】:

我有以下Java加密方法,我想知道它的等效PHP解密是什么,如果有的话。如果 PHP 没有等效的 PHP 解密功能,那我还有什么其他选择?提前致谢。

    private String encrypt(String string, String key) {
    StringBuilder enc = new StringBuilder();
    try {
        Mac mac = Mac.getInstance("HMACSHA256");
        SecretKeySpec secret = new SecretKeySpec(key.getBytes(), "HMACSHA256");
        mac.init(secret);
        byte[] digest = mac.doFinal(string.getBytes());
        for (byte b : digest) {
            String hex = Integer.toHexString(0xff & b);
            if (hex.length() == 1)
                enc.append('0');
            enc.append(hex);
        }
    } catch (Exception e) {
    }
    return enc.toString();
}

【问题讨论】:

  • 很高兴知道您从已结束的问题中学到了。

标签: java php string encryption


【解决方案1】:

SHA 算法是一种方式的哈希,这意味着您永远无法解密它们。

【讨论】:

    【解决方案2】:

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

    一个相等的方法是

    hash_hmac("sha256", $data, $key, false);
    

    当然它不是加密,而是哈希函数。所以它是不可逆的。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    相关资源
    最近更新 更多