private void calculateHMAC(byte[] key, byte[] message, int len, byte[] iKey, byte[] oKey, byte[] byteBuff, int[] intBuff) { Arrays.fill(iKey, 0, 64, (byte) 0x36); xor(iKey, key, 64); System.arraycopy(message, 0, iKey, 64, len); calculateHash(iKey, 64 + len, byteBuff, intBuff); Arrays.fill(oKey, 0, 64, (byte) 0x5c); xor(oKey, key, 64); System.arraycopy(result, 0, oKey, 64, 32); calculateHash(oKey, 64 + 32, byteBuff, intBuff); }