gpt4 book ai didi

c# - Aes 和 AesManaged 有什么区别

转载 作者:太空狗 更新时间:2023-10-29 20:09:24 28 4
gpt4 key购买 nike

我在C#中发现了两个与AES相关的类,MSDN提供的示例代码都差不多,这两个类有什么区别?

Aes 类

https://msdn.microsoft.com/en-us/library/system.security.cryptography.aes(v=vs.110).aspx

AesManaged 类

https://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged(v=vs.110).aspx

最佳答案

System.Security.Cryptography.Aes 是一个抽象类,仅表示 AES-ness 的概念。 AesManagedAesCryptoServiceProviderAesCng 是 AES 在托管代码中的具体实现,分别使用 Windows CAPI 和 Windows CNG。 (在 .NET Core 上这是一个谎言:AesManaged 和 AesCryptoServiceProvider 都只使用一个自动隐藏类,它使用 Windows CNG、macOS Security.framework 或 OpenSSL,视情况而定)

如果你不清楚你想要哪一个,你想通过 Aes.Create() 创建一个实例并且只使用基本类型。唯一真正的异常(exception)是将 AesCng 与命名 key 一起使用(这种情况非常罕见)。

关于c# - Aes 和 AesManaged 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45473884/

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