Exemple #1
0
        private void ButtonDecrypt_Click(object sender, EventArgs e)
        {
            var lib = new ImageWithSecret <string>
            {
                ImageModifying = imageHidden,
                DataReader     = new StringData(),
                WriteReadData  = new EmptyWriteReadPixelData()
            };

            foreach (var encryptionClass in GetAllEntities(false))
            {
                if (encryptionClass.Name == "SHI")
                {
                    lib.Encrypts.Add(new SHI(textKey.Text, SHI.Operator.RIGHT));
                }
                else
                {
                    lib.Encrypts.Add((IEncrypt)Activator.CreateInstance(encryptionClass, new Object[] { textKey.Text }));
                }
            }
            foreach (var compressionClass in GetAllEntities(true))
            {
                lib.Compressions.Add((ICompression)Activator.CreateInstance(compressionClass, null));
            }
            var decryptedData = lib.Decrypt(null);

            textToHide.Text   = decryptedData == "" ? "Incorrect key!" : decryptedData;
            imageOriginalHide = (Bitmap)ImageWithSecret <string> .ByteArrayToImage(AES.Base64Decode(decryptedData));

            hideModeSwitcher.Text        = "Text";
            textToHide.Visible           = true;
            pictureHide.Visible          = false;
            buttonOpenDialogHide.Visible = false;
            labelDropHide.Visible        = false;
        }
Exemple #2
0
        private void ButtonEncrypt_Click(object sender, EventArgs e)
        {
            if (hideSize > hiderSize)
            {
                this.toolStripStatusLabel.Text = "Please, select another image!";
                //MessageBox.Show("Please, select another image!");
                return;
            }
            if (hideModeSwitcher.Text == "Text" && (dataToEncrypt = textToHide.Text.ToString()) == "")
            {
                dataToEncrypt = "empty";
            }
            else
            if (hideModeSwitcher.Text == "Picture" && pictureHide.Image == null)
            {
                dataToEncrypt = "empty";
            }
            else if (hideModeSwitcher.Text == "Picture")
            {
                dataToEncrypt = AES.Base64Encode(ImageWithSecret <string> .ImageToByteArray(pictureHide.Image));
            }

            var lib = new ImageWithSecret <string>
            {
                ImageModifying = ImageOriginalHider,
                imageArray     = ImageHelper.BmpToArr(ImageOriginalHider),
                DataReader     = new StringData(),
                WriteReadData  = new EmptyWriteReadPixelData()
            };

            if (checkInteractive.Checked)
            {
                lib.interactive = true;
            }

            foreach (var checkedItems in listOfEncryptions.CheckedItems)
            {
                foreach (var encryptionClass in GetAllEntities(false))
                {
                    if ((string)encryptionClass.GetField("EncryptionName").GetValue(null) == checkedItems.ToString())
                    {
                        if (encryptionClass.Name == "SHI")
                        {
                            lib.Encrypts.Add(new SHI(textKey.Text, SHI.Operator.LEFT));
                        }
                        else
                        {
                            lib.Encrypts.Add((IEncrypt)Activator.CreateInstance(encryptionClass, new Object[] { textKey.Text }));
                        }
                    }
                }
            }
            foreach (var checkedItems in listOfCompressions.CheckedItems)
            {
                foreach (var compressionClass in GetAllEntities(true))
                {
                    if ((string)compressionClass.GetField("CompressionName").GetValue(null) == checkedItems.ToString())
                    {
                        lib.DataCompression = (ICompression)Activator.CreateInstance(compressionClass, null);
                    }
                }
            }
            imageHidden           = lib.Encrypt(dataToEncrypt);
            pictureHidden.Image   = imageHidden;
            buttonDecrypt.Enabled = true;
            labelHidden.Visible   = true;
        }