.NET:什么是我的选择我的项目.setting文件解密密码 [英] .NET: what are my options for decrypting a password in my project .setting file

查看:136
本文介绍了.NET:什么是我的选择我的项目.setting文件解密密码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的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);
        }
    }

这篇关于.NET:什么是我的选择我的项目.setting文件解密密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆