这是一个糟糕的加密实践吗?

时间:2012-12-23 16:16:35

标签: c# security authentication encryption cryptography

所以我正在尝试加密我的文件和身份验证密码。 我目前正在使用(A)密码派生字节[],(B)清除字节[]和强(C)字符串来加密它。

在我的程序中,我硬编码了那里的(A)密码。我还编写了一个(B)加密版本的Clear Byte []和一个(C)加密版本的字符串。

要解密我的文件/密码,我必须: 1.使用(A)密码字节解密(B)清除字节[]的加密版本。 2.使用(A)密码字节解密(C)字符串的加密版本。 3.使用(B)清除字节,(C)清除字符串来解密文件/密码。

如果这不是一个好习惯,有人可以提供我应该使用的建议/方法吗? 我在c#

中开发它

2 个答案:

答案 0 :(得分:1)

如果您想要只有您的程序可以读取的内容,那么您应该使用DPAPI。在C#中,它包含在ProtectedData类中。

您的代码不安全,代码可以轻松进行反向设计和解密。使用DPAPI意味着只有您的用户才能访问您在应用程序中保护的数据。

您可以像这样使用protecteddata类:

ProtectedData.Protect( data, s_aditionalEntropy, DataProtectionScope.CurrentUser );

答案 1 :(得分:0)

我决定采用上面提到的方法,因为没有人能够发布我可以使用的答案。