AutoPuTTY.cryptVNC.FixDESBug C# (CSharp) Метод

FixDESBug() публичный статический Метод

VNC DES authentication has a bug, such that keys are reversed. This code was written by Dominic Ullmann ([email protected]) and is is being used under the GPL.
public static FixDESBug ( byte desKey ) : byte[]
desKey byte The key to be altered.
Результат byte[]
        public static byte[] FixDESBug(byte[] desKey)
        {
            byte[] newkey = new byte[8];

            for (int i = 0; i < 8; i++)
            {
                // revert desKey[i]:
                newkey[i] = (byte)(
                    ((desKey[i] & 0x01) << 7) |
                    ((desKey[i] & 0x02) << 5) |
                    ((desKey[i] & 0x04) << 3) |
                    ((desKey[i] & 0x08) << 1) |
                    ((desKey[i] & 0x10) >> 1) |
                    ((desKey[i] & 0x20) >> 3) |
                    ((desKey[i] & 0x40) >> 5) |
                    ((desKey[i] & 0x80) >> 7)
                    );
            }
            //for (int i = 0; i < newkey.Length; i++)
            //{
            //    Console.WriteLine(newkey[i]);
            //}
            return newkey;
        }