using System;

namespace SHN
{
    public class SHNCrypto
    {
        public static void CryptoDefault(byte[] Data)
        {
            byte DataLength = (byte)Data.Length;
            for (Int32 Counter = Data.Length - 1; Counter >= 0; Counter--)
            {
                Data[Counter] = (byte)(Data[Counter] ^ DataLength);

                byte DL = (byte)Counter;

                DL = (byte)(DL & 15);
                DL = (byte)(DL + 0x55);
                DL = (byte)(DL ^ ((byte)(((byte)Counter) * 11)));
                DL = (byte)(DL ^ DataLength);
                DL = (byte)(DL ^ 170);

                DataLength = DL;
            }
        }
    }
}
