OpenRA.FileFormats.Blowfish.Blowfish C# (CSharp) Méthode

Blowfish() public méthode

public Blowfish ( byte key )
key byte
        public Blowfish(byte[] key)
        {
            for (int i = 0, j = 0; i < 18; ++i)
            {
                uint a = key[j++ % key.Length];
                uint b = key[j++ % key.Length];
                uint c = key[j++ % key.Length];
                uint d = key[j++ % key.Length];

                lookupMfromP[i] ^= a << 24 | b << 16 | c << 8 | d;
            }

            uint l = 0, r = 0;

            for (var i = 0; i < 18;)
            {
                Encrypt(ref l, ref r);
                lookupMfromP[i++] = l;
                lookupMfromP[i++] = r;
            }

            for (var i = 0; i < 4; ++i)
                for (var j = 0; j < 256;)
                {
                    Encrypt(ref l, ref r);
                    lookupMfromS[i, j++] = l;
                    lookupMfromS[i, j++] = r;
                }
        }