I am now trying to encode the string using HMAC-SHA256 using Java. The encoded string required to match another set of encoded string generated by Python using hmac.new(mySecret, myPolicy, hashlib.sha256).hexdigest()
. I have tried
Mac sha256_HMAC = Mac.getInstance("HmacSHA256");SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes(), "HmacSHA256");sha256_HMAC.init(secretKey);byte[] hash = sha256_HMAC.doFinal(policy.getBytes());byte[] hexB = new Hex().encode(hash);String check = Hex.encodeHexString(hash);String sha256 = DigestUtils.sha256Hex(secret.getBytes());
after I print them out, hash, hexB, check and sha256 didn't provide the same result as the following Python encryption method
hmac.new(mySecret, myPolicy, hashlib.sha256).hexdigest()
So, I have try to looking for the library or something that work similar to the above Python function. Can anybody help me out?