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