#include <stdio.h> #include <cs50.h> #include <crypt.h> #include <string.h> int main(int argc, string argv[]) { if(argc != 2) { printf("Enter the hash code as a single argument\n"); return 1; } string salt = get_string("Imput the salt\n"); string key[] = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "x", "y", "z" }; char temp [40]; string hash = strcpy(temp, argv[1]); for(int i=0; i<18; i++) { string cypher = crypt(key[i], salt); int comp = strcmp(cypher, hash); if(comp == 0) { printf("%s\n", key[i]); break; } } char char_2[7500]; for(int i = 0; i < 50; i++) { for(int j = 0; j < 50; j++) { sprintf(char_2, "%s%s", key[i], key[j]); for(int m = 0; m < strlen(char_2); m++) { string cypher = crypt(char_2[m], salt); int comp = strcmp(cypher, hash); if(comp == 0) { printf("%s\n", key[i]); break; } } } }