public static string ReadRegistryWithSubKey(string title, string subTitle, string keyName, EncryptionOptionsWithSubKey encryptionOptions, string DecryptionKey = "123")//Read a value to Reg { string temp; if (EncryptionOptionsWithSubKey.NoEncryption == encryptionOptions) { RegistryKey Test = Registry.CurrentUser.OpenSubKey(title + "\\" + subTitle); try { if (Test != null) { Test.OpenSubKey(keyName); temp = Test.GetValue(keyName).ToString(); } else { temp = null; } return(temp); } catch (NullReferenceException) { return(null); } } else if (EncryptionOptionsWithSubKey.OnlyValue == encryptionOptions) { RegistryKey Test = Registry.CurrentUser.OpenSubKey(title + "\\" + subTitle); try { if (Test != null) { Test.OpenSubKey(keyName); temp = Test.GetValue(keyName).ToString(); } else { temp = null; } return(EncryptDecrypt.Decrypt(temp, DecryptionKey)); } catch (NullReferenceException) { return(null); } } else if (EncryptionOptionsWithSubKey.FullEncryption == encryptionOptions) { RegistryKey Test = Registry.CurrentUser.OpenSubKey(EncryptDecrypt.Encrypt(title, DecryptionKey) + "\\" + EncryptDecrypt.Encrypt(subTitle, DecryptionKey)); try { if (Test != null) { Test.OpenSubKey(EncryptDecrypt.Encrypt(keyName, DecryptionKey)); temp = Test.GetValue(EncryptDecrypt.Encrypt(keyName, DecryptionKey)).ToString(); } else { temp = null; } return(EncryptDecrypt.Decrypt(temp, DecryptionKey)); } catch (NullReferenceException) { return(null); } } else if (EncryptionOptionsWithSubKey.SubKeyAndValue == encryptionOptions) { RegistryKey Test = Registry.CurrentUser.OpenSubKey(title + "\\" + EncryptDecrypt.Encrypt(subTitle, DecryptionKey)); try { if (Test != null) { Test.OpenSubKey(EncryptDecrypt.Encrypt(keyName, DecryptionKey)); temp = Test.GetValue(EncryptDecrypt.Encrypt(keyName, DecryptionKey)).ToString(); } else { temp = null; } return(EncryptDecrypt.Decrypt(temp, DecryptionKey)); } catch (NullReferenceException) { return(null); } } return(null); }
public static void SaveRegistryWithSubKey(string title, string subTitle, string keyName, string keyValue, EncryptionOptionsWithSubKey encryptionOptions, string encryptionKey = "123") //Save a value to Reg { if (EncryptionOptionsWithSubKey.NoEncryption == encryptionOptions) { RegistryKey Test = Registry.CurrentUser.CreateSubKey(title + "\\" + subTitle); Test.SetValue(keyName, keyValue); } else if (EncryptionOptionsWithSubKey.FullEncryption == encryptionOptions) { RegistryKey Test = Registry.CurrentUser.CreateSubKey(EncryptDecrypt.Encrypt(title, encryptionKey) + "\\" + EncryptDecrypt.Encrypt(subTitle, encryptionKey)); Test.SetValue(EncryptDecrypt.Encrypt(keyName, encryptionKey), EncryptDecrypt.Encrypt(keyValue, encryptionKey)); } else if (EncryptionOptionsWithSubKey.SubKeyAndValue == encryptionOptions) { RegistryKey Test = Registry.CurrentUser.CreateSubKey(title + "\\" + EncryptDecrypt.Encrypt(subTitle, encryptionKey)); Test.SetValue(EncryptDecrypt.Encrypt(keyName, encryptionKey), EncryptDecrypt.Encrypt(keyValue, encryptionKey)); } else if (EncryptionOptionsWithSubKey.OnlyValue == encryptionOptions) { RegistryKey Test = Registry.CurrentUser.CreateSubKey(title + "\\" + subTitle); Test.SetValue(keyName, EncryptDecrypt.Encrypt(keyValue, encryptionKey)); } }