Gå til innhold

Unsigned char * til string?


Anbefalte innlegg

Skrevet (endret)

Jeg forsøker å md5-hasje en tekststreng med følgende kodebit, jeg bruker mhash biblioteket og mhash headeren.

Hashen får jeg printet ved printf(), men jeg sliter med å lagre den i en variabel, jeg ønsker å lagre den i en string.

	MHASH td;
if(td == MHASH_FAILED) exit(1);

td = mhash_init(MHASH_MD5);
mhash(td, "test", 4);

unsigned char *hash;
hash = (unsigned char*)mhash_end(td);
string hashStr = "";
for (int i = 0; i < mhash_get_block_size(MHASH_MD5); i++) {
			printf("%.2x", hash[i]);
			hashStr += hash[i];
	}

Den teite måten jeg har forsøkt å lagre unsigned char i string funker ikke, og ender opp med en streng alla dette:

"鱣F!�s��N�&'�"

 

Noen som har noen forslag?

 

edit:

Jeg løste problemet;

			char tmpChar[2];
		sprintf(tmpChar, "%.2x", hash[i]);
		hashStr.insert(i*2, tmpChar);

Endret av Mapster

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...