Sinh CAPTCHA ngẫu nhiên gồm chữ cái (a-z, A-Z) và số (0-9). Yêu cầu người dùng nhập lại, so sánh khớp hay không.
Ví dụ
#include <bits/stdc++.h>
using namespace std;
bool check_string(string &captcha, string &user_captcha) {
return captcha.compare(user_captcha) == 0;
}
string gen_captcha(int n) {
time_t t;
srand((unsigned)time(&t));
char *chrs = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
string captcha = "";
while (n--)
captcha.push_back(chrs[rand() % 62]);
return captcha;
}
int main() {
string captcha = gen_captcha(9);
cout << captcha;
string usr_captcha;
cout << "\nEnter CAPTCHA : ";
usr_captcha = "fgyeugs56"; // mô phỏng nhập
if (check_string(captcha, usr_captcha))
printf("\nCAPTCHA Matched");
else
printf("\nCAPTCHA Not Matched");
return 0;
}
Kết quả
nwsraJhiP Enter CAPTCHA : CAPTCHA Not Matched