diff options
author | foswret <foswret@posteo.com> | 2025-06-22 15:05:58 -0500 |
---|---|---|
committer | foswret <foswret@posteo.com> | 2025-06-22 15:05:58 -0500 |
commit | 57c23dcedeb448769e66761a5e2faa7320427b9f (patch) | |
tree | 16b8004e61e9c413f2914ae050bc3fbd9b8ecde0 /password.c | |
parent | 2e84588ec83b453e9c1a667841200b7d77260621 (diff) |
added key image to README.md
Diffstat (limited to 'password.c')
-rw-r--r-- | password.c | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/password.c b/password.c deleted file mode 100644 index 7cd6da9..0000000 --- a/password.c +++ /dev/null @@ -1,81 +0,0 @@ -#include <sodium/randombytes.h> -#include <stdio.h> -#include <string.h> -#include <sodium.h> -#include <ctype.h> //To Upper - - -long count_lines(FILE *File) { - char c; - long line_counter = 0; - while ((c = getc(File)) != EOF) { - if (c == '\n') { - line_counter++; - } - } - return(line_counter); -} - -void randomize_case(char *a) { // Accepts a string as input - for (int i = 0; i < strlen(a); i++) { - int coin = randombytes_uniform(2); // Decide if the current character will be capitalized or lowercase - if (coin == 1) { - a[i] = toupper(a[i]); - } - } -} - -void generate_integers(void) { - int length = 5; // TO-DO: Make random eventually - for (int i=0; i<length; i++) { - int random = randombytes_uniform(length); - printf("%d", random); - } -} - -void generate_characters(char *set) { - for (int i = 0; i < 5; i++) { - int random_character = randombytes_uniform(strlen(set)); - printf("%c", set[random_character]); - } -} - -int main (int argc, char **argv) { - char c, arg, str[20]; - FILE *words; - long line_counter, line_total, r; - - char character_set[28] = "!@#$%^&*()_-+={}[]|~`<,>.?:;"; - char letter_set[26] = "abcdefghijklmnopqrstuvwxyz"; - - if (sodium_init() < 0) return 1; - words = fopen("word_list.txt", "r"); - - line_total = count_lines(words); - fseek(words, 0, SEEK_SET); // Reset pointer to beginning of file - - char temp[2]; // Cannot copy c directly to str. needs a buffer - temp[1] = '\0'; // Makes the array a string - - r = randombytes_uniform(line_total + 1); // Generates random line number to use for string - - while ((c = getc(words)) != EOF) { - int i; - temp[0] = c; - if ((r == i) && (c != '\n')) { - strcat(str, temp); - } - if (c == '\n') { - i++; } - } - - randomize_case(str); - generate_integers(); - printf("%s", str); - generate_characters(character_set); - - printf("\n"); - fseek(words, 0, SEEK_SET); // Reset pointer to beginning of file // - fclose(words); -} - |