【发布时间】:2021-09-05 00:28:06
【问题描述】:
我正在使用TripleDES 和三种不同的模式(CBC、CFB 和OFB)对一些数据进行加密,如下所示:
using (TripleDES alg = TripleDES.Create())
{
var param = GetParams();
alg.KeySize = param.keySize;
alg.BlockSize = param.blockSize;
alg.Key = param.sessionKey;
alg.IV = param.IV;
alg.Mode = param.mode;
using (ICryptoTransform encryptor = alg.CreateEncryptor(alg.Key, alg.IV))
每当我使用CFB 或OFB 作为模式时,最后一行都会引发异常(Specified cipher mode is not valid for this algorithm.)。
是不是我做错了什么?
【问题讨论】:
-
@Topaco
GetParams()是我获取这些值的函数。 .NET 变体是什么意思? -
@Topaco 在 NuGet 管理器中我下载了 .NET Core
-
关于 .NET 核心中对 CFB / OFB 的支持的页面底部:“向 AES (#15771) #38211 添加了对 CFB 的支持”。嗯,是的。
-
请注意,用于 .NET 的 Bouncy Castle 加密库应该包含所有这些模式,但要注意它将使用软件加密,没有硬件加速或类似的东西。
标签: c# .net-core cryptography 3des tripledes