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

本文关键字:加密 一个 | 更新日期: 2023-09-27 17:49:15

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

在我的程序中,我硬编码了(A)Password Derived。我还硬编码了一个(B) Clear Byte[]的加密版本和一个(C) string的加密版本。

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

如果这不是一个好的做法,有人能给我提供建议/方法,我应该使用?我正在用c#开发

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

如果你想要一些只有你的程序可以读取的东西,那么你应该使用DPAPI。在c#中,它被封装在ProtectedData类中。

你的代码是不安全的,代码很容易被逆向工程和解密。使用DPAPI意味着只有你的用户可以访问你在应用程序中保护的数据。

您可以这样使用protecteddata类:

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

我决定采用我自己的方法,因为没有人能够发表一个我可以使用的答案。