.NET:什么是我的选择我的项目.setting文件解密密码我的、密码、文件、项目

2023-09-03 00:42:21 作者:阻击少女心

在我的WinForm的UI我要求用户输入用户名和密码。我保存这个密码,我的项目如设置文本(.settings文件)。该应用程序是一个Visual Studio外接

In the UI of my winForm I ask the user for a user name and password. I store this password as text in the Settings (the .settings file) of my project. The app is a visual Studio Add-in

我怎样才能加密和解密的密码之前和之后我将其输入到设置文件?

How can I encrypt and decrypt the password before and after I enter it into the Settings file?

我真的不需要任何幻想。这只是一个小的内部应用程序。不过,我想知道我所有的选项

I don't really need anything fancy. It's just a little in-house app. But I'd like to know all my options

谢谢 鲍勃·

推荐答案

我DD用这样的:

    public static string Decrypt(string stringToDecrypt)
    {
        UnicodeEncoding byteConverter = new UnicodeEncoding();
        byte[] dataToEncrypt = byteConverter.GetBytes(stringToDecrypt);
        byte[] decryptedData = null;
        try
        {
            using (RSACryptoServiceProvider rsaCryptoServiceProvider = new RSACryptoServiceProvider())
            {
                rsaCryptoServiceProvider.FromXmlString(_key);
                byte[] decryptBytes = Encoding.Default.GetBytes(Properties.Settings.Default.SqlPassword);

                decryptedData = rsaCryptoServiceProvider.Decrypt(decryptBytes, false);
            }
        }
        catch (Exception ex)
        {
            //TODO Do proper logging
            Console.WriteLine("Decrypt failed: " + ex.Message);
        }

        return byteConverter.GetString(decryptedData);
    }

    public static string Encrypt(string stringToEncrypt)
    {
        try
        {
            UnicodeEncoding byteConverter = new UnicodeEncoding();
            byte[] dataToEncrypt = byteConverter.GetBytes(stringToEncrypt);

            using (RSACryptoServiceProvider rsaCryptoServiceProvider = new RSACryptoServiceProvider())
            {
                rsaCryptoServiceProvider.FromXmlString(_key);
                byte[] encryptedData = rsaCryptoServiceProvider.Encrypt(dataToEncrypt, false);

                return Encoding.Default.GetString(encryptedData);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Encrypt failed: " + ex.Message);
        }
    }
 
精彩推荐
图片推荐