示例#1
0
        public void Encrypt(byte[] raw, int offset, int size)
        {
            // reserve checksum
            size += 4;


            if (_static)
            {
                // reserve for XOR "key"
                size += 4;

                // padding
                size += 8 - size % 8;
                Random rnd = new Random();
                NewCrypt.encXORPass(raw, offset, size, (uint)rnd.Next());
                _staticCrypt.crypt(raw, offset, size);

                _static = false;
            }
            else
            {
                // padding
                size += 8 - size % 8;
                NewCrypt.appendChecksum(raw, offset, size);
                _crypt.crypt(raw, offset, size);
            }
            //return size;
        }
示例#2
0
 public static void appendChecksum(byte[] raw)
 {
     NewCrypt.appendChecksum(raw, 0, raw.Length);
 }