有人对比较这些加密算法有利有弊吗?
所有这些方案,除了 AES 和 Blowfish,都有已知的漏洞,不应该使用。 然而,河豚已经被 双鱼所取代。
AES 是目前公认的使用的标准算法(因此命名为高级加密 标准)。
其他人就不一样了。
所描述的加密方法是对称密钥分组密码。
数据加密标准(DES)是其前身,使用56位密钥对64位块中的数据进行加密。每个块都是隔离加密的,这是一个安全漏洞。
三重 DES 通过在每个块上应用三个 DES 操作来扩展 DES 的密钥长度: 密钥为0的加密、密钥为1的解密和密钥为2的加密。这些钥匙可能有关联。
在与遗留的商业产品和服务进行接口时,通常会遇到 DES 和3DES。
被认为是继承者和现代标准
我相信河豚是不鼓励使用的。
强烈建议您不要尝试实现自己的加密,而是使用高级实现,比如用于静止数据的 GPG 或用于传输中数据的 SSL/TLS。这里是一个关于加密漏洞 http://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/的优秀和发人深省的视频
使用 AES。
更多细节:
因此,当有疑问时,使用 AES。
注意,块密码是一个加密“块”(使用 AES 的128位数据块)的盒子。当加密一条可能长于128位的“消息”时,消息必须被分割成块,实际的分割方式被称为 运作模式或“链接”。幼稚的模式(简单的分裂)被称为欧洲央行,并存在问题。正确使用分组密码并不容易,它比在 AES 或3DES 之间进行选择更为重要。
AES 是一种对称加密算法,而 RSA 是一种非对称(或公钥)加密算法。在 AES 中,加密和解密使用单个密钥完成,而在 RSA 中使用单独的密钥(公钥和私钥)。128位 AES 密钥的强度大致相当于2600位 RSA 密钥。
虽然 TripleDESCryptoServiceProvider 是一个安全和好的方法,但是它太慢了。如果你想参考 MSDN,你会得到建议你使用 AES 而不是 TripleDES。请参阅以下连结: Http://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx 你会在注释部分看到这个注意:
注意 一种新的对称加密算法,高级加密 标准(AES) ,是可用的。考虑使用 类而不是 使用 TripleDESCryptoServiceProvider 类 TripleDESCryptoServiceProvider 仅用于与旧版本兼容 应用及资料。
祝你好运
教育部是七十年代的老“数据加密标准”。
所有这些方案,除了 AES 和 Blowfish,都有已知的漏洞,不应该使用。
如果进行了包装,所有这些工具实际上都可以安全地使用。
这里 是 AES 包装的一个例子。