Пример #1
0
/* see sph_panama.h */
void
sph_panama_close(void *cc, void *dst)
{
	sph_panama_context *sc;
	unsigned current;
	int i;

	sc = (sph_panama_context *)cc;
	current = sc->data_ptr;
	sc->data[current ++] = 0x01;
	memset(sc->data + current, 0, (sizeof sc->data) - current);
	panama_push(sc, sc->data, 1);
	panama_pull(sc, 32);
	for (i = 0; i < 8; i ++)
		sph_enc32le((unsigned char *)dst + 4 * i, sc->state[i + 9]);
	sph_panama_init(sc);
}
Пример #2
0
static int crypt_all(int *pcount, struct db_salt *salt)
{
	int count = *pcount;
	int index = 0;

#ifdef _OPENMP
#pragma omp parallel for
	for (index = 0; index < count; index++)
#endif
	{
		sph_panama_context ctx;

		sph_panama_init(&ctx);
		sph_panama(&ctx, saved_key[index], strlen(saved_key[index]));
		sph_panama_close(&ctx, (unsigned char*)crypt_out[index]);
	}
	return count;
}