91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2021-05-13
  • 語言: C/C++
  • 標簽: c++??TOTP??

資源簡介

實現一次性口令(OTP,One Time Password)身份認證程序

資源截圖

代碼片段和文件信息

#include?“md5.h“
#include
#include
#include
#include
#include
using?namespace?std;

struct?inf??//系統用戶存儲信息結構
{
char?uid[50];?//用戶名
int?r;??//挑戰值
char?answer[50];?//應答值
char?password[50];?//密碼
};

inf?infor[300];
int?n=0;

void?init()
{
char?uid[50]answer[50]password[50];
????int?r;
fstream?file;?
file.open(“lib.txt“ios::in);
if(!file);
else
{
while(file>>uid>>r>>answer>>password)
{
strcpy(infor[n].uiduid);
infor[n].r=r;
strcpy(infor[n].answeranswer);
strcpy(infor[n].passwordpassword);
n++;
}
}
file.close();
}

void?reg()
{
char?uid[50]password1[50]password2[50]ans[100]={0}answer[50];
int?ri;
while(1)
{
cout<<“請輸入用戶名:?“;
cin>>uid;
for(i=0;i if(strcmp(infor[i].uiduid)==0)
{
cout< break;
}
if(i==n)?break;
}
while(1)
{
cout<<“請輸入密碼:?“;
cin>>password1;
cout<<“請再次輸入密碼:?“;
cin>>password2;
if(strcmp(password1password2)==0)
break;
else
{
cout< }
}
srand(time(0));
r=rand();
infor[n].r=r;
i=0;
????while(r!=0)
{
ans[i]=r%10+‘0‘;
r/=10;
i++;
}
strcat(anspassword1);
????strcpy(answerMD5String(ans));

strcpy(infor[n].uiduid);
strcpy(infor[n].answeranswer);
strcpy(infor[n].passwordpassword1);
n++;

cout< system(“pause“);
system(“cls“);
}

void?check()
{
char?uid[50]answer[50]ans[100]={0};
int?rij;
char?ch;
cout<<“請輸入用戶名:?“;
cin>>uid;
for(i=0;i {
if(strcmp(infor[i].uiduid)==0)
{
cout<<“挑戰值為:?“< cout<<“是否返回進行應答值計算(y/n):?“;
cin>>ch;
if(ch==‘y‘)?cout< else?if(ch==‘n‘)
{
cout<<“請輸入應答值:?“;
cin>>answer;
if(strcmp(answerinfor[i].answer)==0)
{
cout< srand(time(0));
r=rand();
infor[i].r=r;
j=0;
while(r!=0)
{
ans[j]=r%10+‘0‘;
r/=10;
j++;
}
strcat(ansinfor[i].password);
strcpy(infor[i].answerMD5String(ans));
}
else
cout< }
else?cout< break;
}
}
if(i==n)
cout< system(“pause“);
system(“cls“);
}

void?compute()
{

char?password[50]answer[50]ans[100]={0};
int?ri;

cout<<“請輸入挑戰值:?“;
cin>>r;
cout<<“請輸入密碼:?“;
cin>>password;

i=0;
????while(r!=0)
{
ans[i]=r%10+‘0‘;
r/=10;
i++;
}
strcat(anspassword);
????strcpy(answerMD5String(ans));
cout<
system(“pause“);
system(“cls“);

}

int?main()
{
char?ch;?
int?i;
init();
while(1)
{
cout< cout<<“?????????????????????????????1.用戶注冊“< <<“?????????????????????????????2.身份認證“< <<“?????????????????????????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-29?15:04??otp\
?????文件????????8208??2009-06-25?22:10??otp\md5.h
?????文件????????3695??2009-06-26?14:39??otp\otp.cpp

評論

共有 條評論