示例#1
0
文件: XOR.cs 项目: itfenom/PNG-Mask
        protected void PrepareKey(byte[] pass)
        {
            rnd = SteganographyProvider.PrepareISAAC(pass);

            for (int i = 0, isaac = 0; i < key.Length; i++, isaac++)
            {
                if (isaac >= ISAAC.SIZE)
                {
                    isaac = 0;
                    rnd.Isaac();
                }

                key[i] = (byte)(key[i] ^ rnd.rsl[isaac]);
            }
        }
示例#2
0
文件: XOR.cs 项目: itfenom/PNG-Mask
        public override void ImprintData(byte[] data)
        {
            string pass = SteganographyProvider.AskPassword();

            if (pass != null && pass.Length > 0)
            {
                PrepareKey(Encoding.UTF8.GetBytes(pass));
            }

            for (int i = 0; i < data.Length; i++)
            {
                data[i] ^= key[i % key.Length];
            }

            vector = data;

            image.RemoveNonCritical();
            ImprintPNG(data);
        }