Exemple #1
0
void blakecoinhash(void *state, const void *input)
{
	sph_blake256_context ctx;

	uint8_t *ending = (uint8_t*) input;
	ending += 64;

	// do one memcopy to get a fresh context
	if (!ctx_midstate_done) {
		blakecoin_init(&blake_mid);
		blakecoin(&blake_mid, input, 64);
		ctx_midstate_done = true;
	}
	memcpy(&ctx, &blake_mid, sizeof(blake_mid));

	blakecoin(&ctx, ending, 16);
	blakecoin_close(&ctx, state);
}
Exemple #2
0
void blakecoinhash(void *state, const void *input)
{
	sph_blake256_context ctx;

	uint8_t hash[64];
	uint8_t *ending = (uint8_t*) input;
	ending += 64;

	// do one memcopy to get a fresh context
	if (!ctx_midstate_done) {
		init_blake_hash();
		blakecoin(&blake_mid, input, 64);
	}
	memcpy(&ctx, &blake_mid, sizeof(blake_mid));

	blakecoin(&ctx, ending, 16);
	blakecoin_close(&ctx, hash);

	memcpy(state, hash, 32);
}