gpt4 book ai didi

vb.net - "an internal error occurred"当使用OFB密码模式的AES加密算法时

转载 作者:行者123 更新时间:2023-12-05 07:55:10 27 4
gpt4 key购买 nike

我正在为一个项目(使用 vb.net 4.5)工作,该项目必须使用 key 使用 AES 加密(将作为函数的输入参数提供)

我试过使用下面的代码

Imports System.Security.Cryptography
Imports System.Text
Public Class EncryptionFunction
Public Function DoEncryption(ByVal keyByte() As Byte, IV() As Byte)
Dim a As Aes = Aes.Create
a.Mode = CipherMode.OFB

Dim encryptor As ICryptoTransform

encryptor = a.CreateEncryptor(keyByte, IV)


End Function
End Class

但是在

中发生了错误

encryptor = a.CreateEncryptor(keyByte, IV)

错误是“发生内部错误”,如果我更改密码模式它可以正常工作但我必须使用 OFB 模式。

那么,有什么建议吗?

最佳答案

Aes.Create 默认创建 CryptoAPI 的包装器(即 AesCryptoServiceProvider)。因为 CryptoAPI 使用所谓的“加密服务提供程序”,除了系统之外还可以安装在 Windows 上,并且因为系统预安装的加密服务提供程序列表在 Windows 版本和版本之间有所不同,当您使用 Aes.Create,你的代码实际上是依赖于操作系统的。所以,Aes.Create可能会产生不可预知的结果,这是不可避免的。

如果您需要完全的可预测性,您最好使用其他 Aes 实现,可能是 AesManaged 或任何自定义库。 Aes.Create 本质上依赖于操作系统。

关于vb.net - "an internal error occurred"当使用OFB密码模式的AES加密算法时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30335234/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com