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; }