works:programmer:cpp:password-generator
Генератор паролей написанный на чистом C
Компилировался и тестировался на Open Watcom 2 (C++) Генерирует случайные символы длинной байт в первом агрументе, или 2048 байт по умолчанию.
- pwgenerator.c
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> const char blockChr[] = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789"; const int blockLen = sizeof(blockChr)-1; // sizeof("str") == ( 3 + null) int toInt(char* chars, int len, int def) { int i; for ( i=0 ; i<len ; i++) { if ((chars[i] < '0') || (chars[i] > '9')) return def; } return atoi(chars); } void main(int argc, char** argv) { int symbols = 2048; char* buffer; int i, t; if (argc > 1) { symbols = toInt(argv[1], strlen(argv[1]), symbols); } buffer = (char*) calloc(symbols+1, sizeof(char)); srand(time(0)); for ( i=0 ; i<symbols ; i++) { t = (rand() % blockLen); if (blockChr[t] == 0) { printf("%d\n", t); } buffer[i] = blockChr[t]; } buffer[symbols] = 0; printf("%s\n", buffer); free(buffer); }
works/programmer/cpp/password-generator.txt · Последнее изменение: 2020/07/23 15:34 — 127.0.0.1