コード例 #1
0
        public static string[] ReadUserNamePassword()
        {
            RegistryKey rootKey = null;
            RegistryKey subKey  = null;

            try
            {
                string username;
                string password;
                rootKey = Registry.CurrentUser.OpenSubKey("SOFTWARE", true);
                if (!rootKey.GetSubKeyNames().Contains(RegistryPath))
                {
                    return(null);
                }

                subKey = rootKey.OpenSubKey(RegistryPath);

                object objUserName = subKey.GetValue("username");
                object objPassword = subKey.GetValue("password");

                if (objUserName == null || objPassword == null)
                {
                    return(null);
                }

                username = DESEncrypt_Client.DecryptDES(objUserName.ToString());
                password = DESEncrypt_Client.DecryptDES(objPassword.ToString());

                string[] values = new string[] {
                    username,
                    password
                };

                return(values);
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc);
                return(null);
            }
            finally
            {
                if (subKey != null)
                {
                    subKey.Close();
                }
                if (rootKey != null)
                {
                    rootKey.Close();
                }
            }
        }
コード例 #2
0
        public static void SaveUserNamePassword(string userName, string password, bool savePassword)
        {
            RegistryKey rootKey = null;
            RegistryKey subKey  = null;

            try
            {
                rootKey = Registry.CurrentUser.OpenSubKey("SOFTWARE", true);

                if (!rootKey.GetSubKeyNames().Contains(RegistryPath))
                {
                    if (!savePassword)
                    {
                        return;
                    }
                    subKey = rootKey.CreateSubKey(RegistryPath);
                }
                else
                {
                    subKey = rootKey.OpenSubKey(RegistryPath, true);
                }

                if (savePassword)
                {
                    subKey.SetValue("username", DESEncrypt_Client.EncryptDES(userName));
                    subKey.SetValue("password", DESEncrypt_Client.EncryptDES(password));
                }
                else
                {
                    subKey.DeleteValue("username");
                    subKey.DeleteValue("password");
                }
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc);
            }
            finally
            {
                if (subKey != null)
                {
                    subKey.Close();
                    subKey.Dispose();
                }
                if (rootKey != null)
                {
                    rootKey.Close();
                    rootKey.Dispose();
                }
            }
        }