.NET:什么是我的选择我的项目.setting文件解密密码 [英] .NET: what are my options for decrypting a password in my project .setting file
本文介绍了.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屋!
查看全文