我正在研究.Net4和MVC3上的一个学生项目。 项目几乎完成,除了一些安全功能,如用于保存配置文件的编码/解码信息,如连接字符串等。
我想避免一个非常复杂的解决方案,所以我在.NET中寻找一些易于使用的加密技术,理想情况下,我可以提供一个KEY和String,它可以让我回复编码文本,反之亦然(类似)到下面给出的Base64示例。)
我在网上浏览了MSDN的System.Security.Cryptography命名空间文档,但是对于像我这样的新手我有很多选择。
请向我提供建议和实现目标的路径。 谢谢。
在搜索时,我发现了一个简单的Base64解决方案,我实现了这样:
static public string EncodeTo64(string toEncode)
{
byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode);
string encodedValue = System.Convert.ToBase64String(toEncodeAsBytes);
return encodedValue;
}
static public string DecodeFrom64(string toDecode)
{
var toDecodeAsString = System.Convert.FromBase64String(toDecode);
string decodedValue = System.Text.ASCIIEncoding.ASCII.GetString(toDecodeAsString);
return decodedValue;
}
工作正常,但问题是我已经知道这不是非常可靠的东西,因为静态编码技术(没有自定义KEY的技术)可以很容易地解码,并且网上有很多在线基础64解码器。我也尝试使用AES as expalined here但未能成功。
答案 0 :(得分:2)
对于最大简单,只需查看Windows的Data Protection API(DAPI)即可。这将提供加密,无需要求您处理密钥。
您可以使用.NET中提供的ProtectedData
类轻松使用它。
答案 1 :(得分:1)