void MyClass::GOST2012(){ emit set_max(0); QFile file(fname); emit sendStringFileName(fname); CTX = (GOST34112012Context*)(malloc(sizeof(GOST34112012Context))); if(sizeHash==64) GOST34112012Init(CTX, 512); if(sizeHash==32) GOST34112012Init(CTX, 256); if (file.open(QIODevice::ReadOnly) ) { while (!file.atEnd()) { QByteArray line = file.read(4096); GOST34112012Update(CTX, (unsigned char*)(line.data()), line.size()); } } file.close(); GOST34112012Final(CTX, &digest[0]); convert_to_hex(digest, hexdigest, sizeHash, 1);//eflag=1 (в Госте в таком виде хеш получается)// eflag=0 наоборот развернут QString rez = (char*)hexdigest; // QString rez = (char*)digest; // rez = rez.toLocal8Bit().toHex(); GOST34112012Cleanup(CTX); emit sendString(rez);emit set_max(100);emit change_value(100);emit finished();emit sendStringDone("Complete"); }
int finish_hash12(gost_hash_ctx * ctx, byte * hashval) { GOST34112012Final(ctx, hashval); return 1; }