MCPcopy Create free account
hub / github.com/abbeycode/UnrarKit / blake2sp_final

Function blake2sp_final

Libraries/unrar/blake2sp.cpp:131–153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

129
130
131void blake2sp_final( blake2sp_state *S, byte *digest )
132{
133 byte hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES];
134
135 for( size_t i = 0; i < PARALLELISM_DEGREE; ++i )
136 {
137 if( S->buflen > i * BLAKE2S_BLOCKBYTES )
138 {
139 size_t left = S->buflen - i * BLAKE2S_BLOCKBYTES;
140
141 if( left > BLAKE2S_BLOCKBYTES ) left = BLAKE2S_BLOCKBYTES;
142
143 blake2s_update( &S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, left );
144 }
145
146 blake2s_final( &S->S[i], hash[i] );
147 }
148
149 for( size_t i = 0; i < PARALLELISM_DEGREE; ++i )
150 blake2s_update( &S->R, hash[i], BLAKE2S_OUTBYTES );
151
152 blake2s_final( &S->R, digest );
153}

Callers 1

ResultMethod · 0.85

Calls 2

blake2s_updateFunction · 0.85
blake2s_finalFunction · 0.85

Tested by

no test coverage detected