c++AES加密解密(附源碼)

 AES,高級加密標準(英語:Advanced Encryption Standard,縮寫:AES),在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣爲全世界所使用。嚴格地說,AES和Rijndael加密法並不完全一樣(雖然在實際應用中二者可以互換),因爲Rijndael加密法可以支持更大範圍的區塊和密鑰長度:AES的區塊長度固定爲128 比特,密鑰長度則可以是128,192或256比特;而Rijndael使用的密鑰和區塊長度可以是32位的整數倍,以128位爲下限,256比特爲上限。包括AES-ECB,AES-CBC,AES-CTR,AES-OFB,AES-CFB

本代碼 採用 ECB 模式

 

		static string EncryptionAES(const string& strSrc) //AES加密
		{
			char g_key[17] = "3d4ab4b0bb42dd54";
			char g_iv[17] = "262ef81aafa7a095";
			size_t length = strSrc.length();
			if (length > 1)
			{
				int block_num = length / BLOCK_SIZE + 1;
				//明文
				char* szDataIn = new char[block_num * BLOCK_SIZE + 1];
				memset(szDataIn, 0x00, block_num * BLOCK_SIZE + 1);
				strcpy(szDataIn, strSrc.c_str
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章