/// <summary> /// TODO: Comment /// </summary> public void SaveDataExcecute() { //TODO: Save path in configuration string configurationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "SecureVault", "settings", "configuration.dat"); ConfigurationHelper configHelper = new ConfigurationHelper(configurationPath); SecureStringHelper secureStringHelper = new SecureStringHelper(); KeyHelper keyHelper = new KeyHelper(); SaltGenerator saltGenerator = new SaltGenerator(); //Generate random salt byte[] salt = saltGenerator.GenerateSalt(); byte[] key = keyHelper.DeriveKey(secureStringHelper.SecureStringToString(this.Password), configHelper.GetSalt()); CryptoHelper cryptoHelper = new CryptoHelper(key, salt); var plainTextBytes = Encoding.UTF8.GetBytes(secureStringHelper.SecureStringToString(this.SecureData)); var plainPasswordBase64 = Convert.ToBase64String(plainTextBytes); string encryptedValue = cryptoHelper.EncryptValue(plainPasswordBase64); configHelper.AddData(this.Name, encryptedValue, Convert.ToBase64String(salt)); //Close the NewData window Application.Current.Windows.OfType <Window>().SingleOrDefault(x => x.IsActive).Close(); }
static void Main(string[] args) { KeyHelper keyHelper = new KeyHelper(); byte[] key = keyHelper.DeriveKey("testPW", "I+e2/x4P+32RsAp+iZhQaw=="); CryptoHelper cryptoHelper = new CryptoHelper(key, Convert.FromBase64String("I+e2/x4P+32RsAp+iZhQaw==")); var plainTextBytes = System.Text.Encoding.UTF8.GetBytes("test"); var test = System.Convert.ToBase64String(plainTextBytes); string encryptedValue = cryptoHelper.EncryptValue(test); string decryptedValue = cryptoHelper.DecryptValue(encryptedValue); Console.WriteLine(encryptedValue); Console.WriteLine(decryptedValue); Console.ReadKey(); }
/// <summary> /// TODO: Comment /// </summary> public void CopyPasswordExcecute(int?selectedID) { //TODO: Save path in configuration string configurationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "SecureVault", "settings", "configuration.dat"); ConfigurationHelper configHelper = new ConfigurationHelper(configurationPath); KeyHelper keyHelper = new KeyHelper(); SecureStringHelper secureStringHelper = new SecureStringHelper(); selectedID = selectedID == -1 ? 0 : selectedID; byte[] key = keyHelper.DeriveKey(secureStringHelper.SecureStringToString(this.Password), configHelper.GetSalt()); CryptoHelper cryptoHelper = new CryptoHelper(key, Convert.FromBase64String(this.SavedData[selectedID.Value].Salt)); string decryptedValue = cryptoHelper.DecryptValue(this.SavedData[selectedID.Value].EncryptedValue); Clipboard.SetText(decryptedValue); }