public int encrypt(byte[] raw, int offset, int size) { // reserve checksum size += 4; // padding size += 8 - size % 8; NewCrypt.appendChecksum(raw, offset, size); _crypt.crypt(raw, offset, size); return(size); }
public int staticEncrypt(byte[] raw, int offset, int size, uint xorKey) { // reserve checksum size += 4; // reserve for XOR "key" size += 4; // padding size += 8 - size % 8; NewCrypt.encXORPass(raw, offset, size, xorKey); _staticCrypt.crypt(raw, offset, size); return(size); }
public void setKey(byte[] key) { _crypt = new NewCrypt(key); }
public bool staticDecrypt(byte[] raw, int offset, int size) { _staticCrypt.decrypt(raw, offset, size); NewCrypt.decXORPass(raw); return(NewCrypt.verifyChecksum(raw, offset, size)); }
public bool decrypt(byte[] raw, int offset, int size) { _crypt.decrypt(raw, offset, size); return(NewCrypt.verifyChecksum(raw, offset, size)); }
public static void appendChecksum(byte[] raw) { NewCrypt.appendChecksum(raw, 0, raw.Length); }
public static bool verifyChecksum(byte[] raw) { return(NewCrypt.verifyChecksum(raw, 0, raw.Length)); }