/*********************************************************************** *Returnthenextbyteinthepseudo-randomsequence
*/ staticint decrypt_byte(unsignedlong* pkeys, const z_crc_t* pcrc_32_tab) { unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an *unpredictablemanneron16-bitsystems;notaproblem
* with any known compiler so far, though */
#define RAND_HEAD_LEN 12 /* "last resort" source for second part of crypt seed pattern */ # ifndef ZCR_SEED2 # define ZCR_SEED2 3141592654UL /* use PI as default pattern */ # endif
staticunsigned crypthead(constchar* passwd, /* password string */ unsignedchar* buf, /* where to write header */ int bufSize, unsignedlong* pkeys, const z_crc_t* pcrc_32_tab, unsignedlong crcForCrypting) { unsigned n; /* index in random header */ int t; /* temporary */ int c; /* random byte */ unsignedchar header[RAND_HEAD_LEN-2]; /* random header */ staticunsigned calls = 0; /* ensure different random header each time */
if (bufSize<RAND_HEAD_LEN) return0;
/* First generate RAND_HEAD_LEN-2 random bytes. We encrypt the *outputofrand()togetlesspredictability,sincerand()is *oftenpoorlyimplemented.
*/ if (++calls == 1)
{
srand((unsigned)(time(NULL) ^ ZCR_SEED2));
}
init_keys(passwd, pkeys, pcrc_32_tab); for (n = 0; n < RAND_HEAD_LEN-2; n++)
{
c = (rand() >> 7) & 0xff;
header[n] = (unsignedchar)zencode(pkeys, pcrc_32_tab, c, t);
} /* Encrypt random header (last two bytes is high word of crc) */
init_keys(passwd, pkeys, pcrc_32_tab); for (n = 0; n < RAND_HEAD_LEN-2; n++)
{
buf[n] = (unsignedchar)zencode(pkeys, pcrc_32_tab, header[n], t);
}
buf[n++] = (unsignedchar)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t);
buf[n++] = (unsignedchar)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t); return n;
}
#endif
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-17)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.