如何解决无法将 TripleDES 切换到 CFB 或 OFB 模式
我正在使用 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))
每当我使用 Specified cipher mode is not valid for this algorithm.
或 CFB
作为模式时,最后一行都会抛出异常 (OFB
)。
我做错了什么吗?
解决方法
基本上是因为 .Net Core 不支持它。 见https://github.com/dotnet/runtime/pull/38211
除非您正在处理遗留代码,否则您应该使用 AES 而不是 3DES。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。