package im.actor.runtime.crypto; import im.actor.runtime.Crypto; import im.actor.runtime.crypto.primitives.digest.CombinedHash; import im.actor.runtime.crypto.primitives.digest.SHA512; import im.actor.runtime.crypto.primitives.hmac.HMAC; import im.actor.runtime.crypto.primitives.prf.PRF; import im.actor.runtime.crypto.primitives.streebog.Streebog256; import im.actor.runtime.crypto.primitives.streebog.Streebog512; // Disabling Bounds checks for speeding up calculations /*-[ #define J2OBJC_DISABLE_ARRAY_BOUND_CHECKS 1 ]-*/ public final class Cryptos { public static HMAC HMAC_SHA256(byte[] secret) { return new HMAC(secret, Crypto.createSHA256()); } public static HMAC HMAC_SHA512(byte[] secret) { return new HMAC(secret, new SHA512()); } public static PRF PRF_SHA256() { return new PRF(Crypto.createSHA256()); } public static PRF PRF_SHA512() { return new PRF(new SHA512()); } public static PRF PRF_STREEBOG256() { return new PRF(new Streebog256()); } public static PRF PRF_STREEBOG512() { return new PRF(new Streebog512()); } public static PRF PRF_SHA_STREEBOG_256() { return new PRF(new CombinedHash(new Digest[]{ Crypto.createSHA256(), new Streebog256() })); } private Cryptos() { } }