C与C#之间使用AES加密解密算法

 目的:C语言写的客户端加密数据,数据发送到C#写的服务端,服务端解密。

保证C与C#之间加密解密AES的配置和模式一直。

AES:

AES是对称加密算法,关键点: 密钥长度,明文长度,密文长度

密钥长度:

AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度;

AES的区块长度固定为128 比特密钥长度则可以是128,192或256比特;(128/8=16  256/8=32个字节 如果密钥使用字符串,即密钥长度必须是16或24或32个字符组成一个字符占8位即一个字节)而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限。加密过程中使用的密钥是由Rijndael密钥生成方案产生。

原文地址:https://www.cnblogs.com/fyp7077/p/7673758.html