Example #1
0
        private void savePropertiesBtn_Click(object sender, EventArgs e)
        {
            var path = System.IO.Directory.GetCurrentDirectory() + "\\config.ini";

            try
            {
                // Create the file, or overwrite if the file exists.
                using (FileStream fs = File.Create(path))
                {
                    using (StreamWriter fw = new StreamWriter(fs))
                    {
                        fw.WriteLine(StringToHash.Encrypt(connectionStringTxtBox.Text, "a"));
                        fw.WriteLine(StringToHash.Encrypt(destinationPathTxtBox.Text, "a"));
                        fw.WriteLine(StringToHash.Encrypt(dbNameTxtBox.Text, "a"));
                        fw.WriteLine(StringToHash.Encrypt(destinationEmailTxtBox.Text, "a"));
                        fw.WriteLine(StringToHash.Encrypt(senderTxtBox.Text, "a"));
                        fw.WriteLine(StringToHash.Encrypt(smtpTxtBox.Text, "a"));
                        fw.WriteLine(StringToHash.Encrypt(smtpLoginTxtBox.Text, "a"));
                        fw.WriteLine(StringToHash.Encrypt(smtpPasswordTxtBox.Text, "a"));
                    }
                }

                MessageBox.Show("Plik konfiguracyjny zapisany");
                this.Close();
                // File.Encrypt(path);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.ToString());
            }
        }
        /// <summary>
        /// Decrypt a string.
        /// </summary>
        /// <param name="encryptedText">String to be decrypted</param>
        /// <param name="password">Password used during encryption</param>
        /// <exception cref="FormatException"></exception>
        public static string Decrypt(string encryptedText, string password)
        {
            if (encryptedText == null)
            {
                return(null);
            }

            if (password == null)
            {
                password = String.Empty;
            }

            // Get the bytes of the string
            var bytesToBeDecrypted = Convert.FromBase64String(encryptedText);
            var passwordBytes      = Encoding.UTF8.GetBytes(password);

            passwordBytes = SHA256.Create().ComputeHash(passwordBytes);

            var bytesDecrypted = StringToHash.Decrypt(bytesToBeDecrypted, passwordBytes);

            return(Encoding.UTF8.GetString(bytesDecrypted));
        }
        /// <summary>
        /// Encrypt a string.
        /// </summary>
        /// <param name="plainText">String to be encrypted</param>
        /// <param name="password">Password</param>
        public static string Encrypt(string plainText, string password)
        {
            if (plainText == null)
            {
                return(null);
            }

            if (password == null)
            {
                password = String.Empty;
            }

            // Get the bytes of the string
            var bytesToBeEncrypted = Encoding.UTF8.GetBytes(plainText);
            var passwordBytes      = Encoding.UTF8.GetBytes(password);

            // Hash the password with SHA256
            passwordBytes = SHA256.Create().ComputeHash(passwordBytes);

            var bytesEncrypted = StringToHash.Encrypt(bytesToBeEncrypted, passwordBytes);

            return(Convert.ToBase64String(bytesEncrypted));
        }