【发布时间】:2014-09-15 20:51:10
【问题描述】:
我需要一个非对称加密算法,它总是对相同数据的相同结果加密数据。当我使用RSACryptoServiceProvider 时,它总是为我提供相同输入的不同加密数据。
byte[] encrypted1, encrypted2;
using ( var RSA1 = new RSACryptoServiceProvider() )
{
encrypted1 = RSA1.Encrypt(data, false);
encrypted2 = RSA1.Encrypt(data, false);
}
这里encrypted1和encrypted2是不同的。
我听说这是由新 RSA 实现的随机填充能力引起的。但即使我将填充设置为 false,它也会发生。所以;
- 有没有办法改变这种行为?
- 还有其他算法可用于此作业吗?如果有它们是什么?
【问题讨论】:
-
但是为什么要重复加密呢?加密算法通常旨在确保您在解密加密数据时获得纯文本。如果您想比较密码是否匹配等内容,您可以使用 MD5 等哈希算法。
-
嗯让我考虑一下。
标签: c# encryption