如何使用Rijndael加密与.Net Core类库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Rijndael加密与.Net Core类库相关的知识,希望对你有一定的参考价值。
参考技术A )之间Rijndael和AES是Rijndael允许块大小改变,但AES不。由于RijndaelManaged的默认块大小与AES块大小(128位/ 16字节)相同,因此实际上使用AES。而不是实例化实现类型按名称,只需使用工厂( Aes.Create())。在.NET Core和.NET Framework中都有效。
其他值得一提的方法:
所有SymmetricAlgorithm实例都是IDisposable,您应该使用使用语句。
所有ICryptoTransform实例未正确命名为 desEncryptor )为IDisposable,则应在中使用语句。
ISO10126填充在.NET Core 1.0中不可用。如果你需要兼容现有的流,你可以自己应用填充和指定PaddingMode.None。否则,PKCS7更标准。
您的AES密钥不是很随机,因为它来自一个ASCII字符串(许多值将无效)。
Base64至少具有完整的值范围
通过Rfc2898DeriveBytes类,PBKDF2(基于密码的密钥导出函数2)
KeyAgreement通常更好,但是.NET Core 1.0中既不提供ECDH也不提供经典DH。
通常加密器应该计算一个随机IV(调用 aes.GenerateIV()同一对象用于多个操作)并且用密文呈现它。因此,加密采用密钥和明文并产生密文和IV。解密需要(关键字,IV,密文)并产生纯文本。
以上是关于如何使用Rijndael加密与.Net Core类库的主要内容,如果未能解决你的问题,请参考以下文章
JAVA如何解密用PHP加密的base64编码和RIJNDAEL 256的数据?