微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法将 TripleDES 切换到 CFB 或 OFB 模式

如何解决无法将 TripleDES 切换到 CFB 或 OFB 模式

我正在使用 TripleDES 和三种不同的模式(CBCCFBOFB)加密一些数据,如下所示:

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 举报,一经查实,本站将立刻删除。