[CSharp] System.Security.CryptoGraphy参数解析(更新中)

[CSharp] System.Security.CryptoGraphy参数解析(更新中)

AES

属性类型描述示例
BlockSizeInt块大小是可在一次操作中加密或解密的基本数据单位。 长于块大小的消息作为连续块处理;短于块大小的消息必须填充额外的位才能达到块的大小。 有效的块大小由使用的对称算法确定。Aes.BlockSize = 128(默认);
FeedbackSizeInt获取或设置针对密码反馈 (CFB) 和输出反馈 (OFB) 密码模式的加密操作的反馈大小(以bit为单位)。
*反馈大小确定反馈给连续加密或解密操作的数据量。 反馈大小不能大于块大小
Aes.FeedbackSize = 1(1bit);
/**
1. 可设置为[1,8,128],默认 128 bit
2.CBC、CTS、GCM 模式下这个属性没有实际作用。流模式下不用填充。
*/
IVbyte[]获取或设置对称算法的初始化向量。
手动调用GenerateIV该方法时,该IV属性都会自动设置为新的随机值。 属性的大小 IV 必须与属性除以 8 相同 BlockSize 。
byte[] IV = RandomNumberGenerator.GetBytes(16);Aes.GenerateIV();生成随机的IV值
Keybyte[]获取或设置对称算法的密钥。
密钥用于加密和解密。 要成功使用对称算法,密钥必须只有发送方和接收方知道。 有效的密钥大小由特定的对称算法实现指定,并列在属性中 LegalKeySizes 。
1. 直接生成
byte[] Key = Aes.Key;
2.通过Aes.控制(128/192/256 bit)
Aes.KeySize = 256;
RandomNumberGenerator.GetBytes();Aes.GenerateKey();
定期更换密钥
CryptographicOperations.ZeroMemory(key);
KeySizeInt获取或设置对称算法使用的密钥的大小。
有效的密钥大小由特定的对称算法实现指定,并列在属性中 LegalKeySizes 。
注:更改 KeySize 值会重置密钥并生成新的随机密钥
Aes.KeySize = 128;
可选的范围:
128bit 16bytes
192bit 24nytes
256bit 32bytes
LegalBlockSizesKeySize[]获取对称算法支持的块大小。
Aes.LegalBlockSizes
LegalKeySizesKeySize[]获取对称算法支持的密钥大小Aes.LegalKeySizes
ModeCipherMode(Enum)对称算法的运算模式。 默认值为 CBCAes.Mode = CipherMode.CBC;默认(CBC)
参考值:
1. CBC
2.ECB
3.OFB
4.CFB
5.CTS
参考文献:立即前往
PaddingPaddingMode(Enum)获取或设置对称算法中使用的填充模式。
大多数纯文本消息不包含完全填充块的字节数。 通常没有足够的字节来填充最后一个块。 发生这种情况时,会向文本添加一个填充字符串。
Aes.Padding = PaddingMode.PKCS7;默认(PKCS7)
参考值:
1. None
2.PKCS7
3.Zeros
4.ANSIX923
5.ISO10126
参考文献:立即前往
using System.Security.Cryptography;
Aes aes = Aes.Create();

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
WindChime@2026的头像-青洛の小屋 | WindChime
评论 抢沙发

请登录后发表评论

    暂无评论内容