簡體   English   中英

這種Java加密方法的等效PHP解密是什么?

[英]What is the equivalent PHP decryption for this Java encryption method?

我有以下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();
}

SHA算法是單向哈希,這意味着你永遠不能解密它們。

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

一種平等的方法

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

當然它不是加密,而是哈希函數。 所以它不可逆。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM