0

我使用以下功能保护一些字符串:

public static string ProtectString(string input)
{
    System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
    return enc.GetString(MachineKey.Protect(enc.GetBytes(input), null));
}

如果我现在加密一个字符串,攻击者现在可能(即用户名),他是否能够提取具有加密和解密值的机器密钥?

4

2 回答 2

1

我做了一些研究,发现使用的算法是其中之一:DES、3DES 或 AES。并且该算法对纯文本攻击具有很强的抵抗力。

根据 Chris 的评论,DES 很弱,所以尽可能选择 AES。

但这不是向攻击者赠送纯文本值的原因:)

于 2013-11-04T12:40:55.707 回答
-1

如果你给黑客密文和明文,这就是他暴力破解加密密钥所需要的一切。那和高性能计算机的农场。

确实很少有理由同时发送明文和纯文本。只是不要这样做。如果要使明文防篡改,请将明文与 HMAC 一起传递。

于 2013-11-05T03:22:23.620 回答