Sample code for 30+ languages & platforms
Java Requires Chilkat v11.0.0+

Workaround for the deprecated Crypt2.MacBytes method

Shows how to replace the deprecated MacBytes method. (Chilkat is moving away from the use of CkByteData.)

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

    CkCrypt2 crypt = new CkCrypt2();

    //  Do HMAC using SHA-256.
    crypt.put_MacAlgorithm("hmac");
    crypt.put_HashAlgorithm("sha256");

    String keyHex = "000102030405060708090A0B0C0D0E0F";
    success = crypt.SetMacKeyEncoded(keyHex,"hex");

    String path = "c:/someDir/example.dat";

    //  ------------------------------------------------------------------------
    //  The MacBytes method is deprecated:

    CkByteData inData = new CkByteData();
    inData.loadFile(path);

    CkByteData outData = new CkByteData();

    success = crypt.MacBytes(inData,outData);

    //  ------------------------------------------------------------------------
    //  Workaround.
    //  (Chilkat is moving away from using CkByteData)

    CkBinData bdIn = new CkBinData();
    bdIn.LoadFile(path);

    //  Set to any supported Chilkat encoding: base64, hex, base64url, hex_lower, etc.
    crypt.put_EncodingMode("base64");
    String mac_base64 = crypt.macBdENC(bdIn);

    System.out.println(mac_base64);
  }
}