Я пытаюсь найти супер эффективный способ для генерации случайной строки для уравнения ниже:
checkSum = SHA1(fixed_string + random_string)
Контрольная сумма должна иметь k ведущих нулей, чтобы удовлетворять конечному условию. Текущая реализация использует методологию грубой силы в сочетании с генератором случайной строки . Но этот метод является неэффективным и отнимает много времени, если K больше, чем 7 .
static void
gen_random(char *s) {
static const char alphanum[] =
"0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz";
for (size_t i = 0; i < LENGTH - 1; ++i) {
s[i] = alphanum[rand() % (sizeof(alphanum) - 1)];
}
}
Есть у кого-нибудь идеи разработать эффективный алгоритм генерации случайная строка для эффективной обработки условия? Другой вопрос касается длины (fixed_string + random_string) . Какова наилучшая длина для правильной обработки контрольной суммы SHA1?
Спасибо