Question: In C , checks if the entered password for admin is correct by calling checkAdminPassword. Part of this function has been implemented, complete the statement
In C , checks if the entered password for admin is correct by calling checkAdminPassword. Part of this function has been implemented, complete the statement in if(). Keep in mind that the entered password is plaintext whereas the password in struct user is in the hashsed form. The password for user admin is s#1Pa5.
int checkAdminPassword(char* password, struct user* users, int count) { for (int i = 0; i < count; ++i) { if (strcmp((users + i)->username, "admin") == 0) { if (/* Complete the condition */) { return 1; } else { return 0; } } } return 0; }
int main(void) { int user_count = 0; struct user* users = createUsers(&user_count); if (users == NULL) { return EXIT_FAILURE; } populateUsers(users);
printf("Enter admin password to add new users:"); char entered_admin_password[50]; scanf("%s", entered_admin_password); if (checkAdminPassword(entered_admin_password, users, user_count)) { struct user new_user; printf("Enter username:"); scanf("%s", new_user.username); printf("Enter first name:"); scanf("%s", new_user.firstname); printf("Enter last name:"); scanf("%s", new_user.lastname); printf("Enter password:"); scanf("%s", new_user.password); printf("Enter admin level:"); scanf("%d", &(new_user.admin)); users = addUser(users, &user_count, new_user.username, new_user.password, new_user.firstname, new_user.lastname, new_user.admin); if (users == NULL) { return EXIT_FAILURE; } } saveUsers(users, user_count); free(users); return EXIT_SUCCESS; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
