3

I have the following Java encryption method, and I'd like to know what the equivalent PHP decryption for it is, if there is one. If there is not an equivalent PHP decryption function for PHP, then what other options do I have? Thanks in advance.

    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();
}
1
  • Good to know you learned from your closed question. Commented Apr 3, 2013 at 12:26

2 Answers 2

1

SHA algorithms are one way hashes, which means you can never decrypt them.

Sign up to request clarification or add additional context in comments.

Comments

0

Just take a look at php.net: http://www.php.net/manual/en/function.hash-hmac.php

An equal method would be

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

And of course its not an encryption, but an hash function. So its non reversible.

2 Comments

Thanks for your answer. Is there an alternative you could suggest to sha256, that is reversible?
You have to use an encryption function as already asked in: stackoverflow.com/questions/9262109/…

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.