Anonymní profil Mr.X – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Mr.X – Programujte.comAnonymní profil Mr.X – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2:80e:bc81:6268:...–

Mr.X
C / C++ › AES dešifrovánín a zápis do…
19. 3. 2014   #188392

Místo strlen jsem zkoušel i sizeof ale to mi vrací celkovou velikost pole

Mr.X
C / C++ › AES dešifrovánín a zápis do…
19. 3. 2014   #188383

Ahoj, dešifrování textového souboru se provede bez sebemenších problémů, ale jakmile chci dešiforvat nějakou mp3 nebo obrázek tak se mi vytvoří soubor pouze o velikosti 4 bajty. Chyba nastane při zjištování velikosti unsigned char pole, ale nevím jak tento problém vyřešit. Nevíte si s tím někdo rady?

	int keylength = 256;
	unsigned char* aesblock;
	unsigned char aes_key[] = {
		0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
		0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff,
		0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
		0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff,
	};
	//inicializacni vektor pro dec
	unsigned char iv_dec[] = {
		0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
		0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff
	};
	//open chunk file
	ifstream file ("chunk1", ios::in|ios::binary|ios::ate);
	int size3;
	if (file.is_open())
	{
		size3 = file.tellg();
		aesblock = new unsigned char[size3];
		file.seekg (0, ios::beg);
		file.read ((char*)aesblock, size3);

		file.close();
	}
	else {
		cout << "Unable to open file";
	}

	unsigned char dec_out[size3];
	AES_KEY dec_key;
	AES_set_decrypt_key(aes_key, 256, &dec_key);
	AES_cbc_encrypt(aesblock, dec_out, size3, &dec_key, iv_dec, AES_DECRYPT);
	
	
	/**
     * Zapis do  souboru
     */
	FILE *fileOut2;
	fileOut2 = fopen("newIndex.jpeg", "wb"); // open regular
	if ( fileOut2 == NULL ) return -1; // fopen fail
	int size4 = strlen((char*)dec_out);	
	fwrite((char*)dec_out,1,size4,fileOut2);
	fclose(fileOut2);

	delete[] aesblock;
	return 0;

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý