當前位置:首頁 » 編程語言 » c語言寫密碼

c語言寫密碼

發布時間: 2022-11-05 22:21:32

c語言用c寫一個可以驗證賬號,密碼和修改密碼的程序

#include <string.h>
struct e
{
char a[10];
char b[10];
}z;
int main()
{ int t=0;
char s[10],d[10];
FILE *p;
void as();
if ((p=fopen("m.txt","r+"))==NULL)
{
p=fopen("m.txt","w+");
t=1;
}
if(t==1)
{
printf("當前沒有任何用戶\n");
printf("請新建用戶名: ");
scanf("%s",s);
printf("為用戶設置密碼: ");
scanf("%s",d);
strcpy(z.a,s);
strcpy(z.b,d);
fprintf(p,"%s %s",z.a,z.b);
fclose(p);
}
if(t==0)
{
printf("請輸入用戶名: ");
scanf("%s",s);
fscanf(p,"%s %s",z.a,z.b);
fclose(p);
if (!strcmp(z.a,s))
{
printf("請輸入密碼:");
scanf("%s",d);getchar();
if(!strcmp(z.b,d))
{ char i;
printf("是否要修改密碼?(輸入y修改,n退出!)");
scanf("%c",&i);
if(i=='y')
{
printf("請輸入修改密碼:");
scanf("%s",z.b);
p=fopen("m.txt","w+");
fprintf(p,"%s %s",z.a,z.b);
fclose(p);
printf("修改成功!");
}
}
else printf("密碼錯誤!");
}
else printf("用戶名錯誤");
fclose(p);
}
}

② 懸賞100分 如何用c語言 寫一個密碼程序

clude "string.h"

//考慮到用資料庫文件保存注冊信息的話要使用access創建文件並且還要配置數據源,所以我的方法是採用將注冊信息保存到文件
//下面是完整的程序:

//登陸檢測函數
int login(char *name,char *password)
{
char info[10000];
char *p=info;
FILE *file=fopen("user","r");
int size;
if(file)
{
size=fread(info,1,10000,file);
while(size!=(int)p-(int)info)
{
if(!strcmp(p,name)&&!strcmp(p+strlen(p)+1,password))
{
fclose(file);
return 1;
}
p+=strlen(p)+1;
p+=strlen(p)+1;
}
}
fclose(file);
return 0;
}

//添加註冊信息入文件
void save(char *name,char *password)
{
FILE *file=fopen("user","a");
fwrite(name,1,strlen(name)+1,file);
fwrite(password,1,strlen(password)+1,file);
fclose(file);
}

#define PASSWORD "12345" //這里指定你要允許通過的密碼,比如12345,將引號里的數字改為你想要的即可
int main()
{
char password[100];
char name[100],c[100],password1[100];
tag1: printf("press 1 to register, or 2 to login\n");//輸入1為注冊,輸入2為登陸
while(1)
{
gets(c);
if('1'==c[0])
{
printf("please enter your name\n");//輸入姓名
gets(name);
tag2: printf("please enter your password\n");//輸入密碼
gets(password);
printf("please enter your password again\n");
gets(password1);
if(strcmp(password,password1))
{
//兩次密碼不一致,重輸
printf("the password you entered is different from the first one,please try again!\n");
goto tag2;
}
printf("register is completed!\n");//注冊成功
//下面實現將注冊信息加入文件保存
save(name,password);
goto tag1;
}
else if('2'==c[0])
{
tag3: printf("please enter your name:\n");
gets(name);
printf("please enter your password:\n");
gets(password);
if(login(name,password))//如果驗證通過,則
{
printf("login successfully!\n");

//這里添加成功登陸後要執行的代碼
}
else
{
printf("your name or password doesn't exist!\n");//否則重輸
goto tag3;
}

}
else
{
printf("invalid input!press 1 to register, or 2 to login\n");//輸入非法,重輸
goto tag1;
}

}

return 0;
}

餓,寫了我兩個小時啊,大哥,分一定要給我啊~~~~~~

③ 怎麼用c語言寫一個創建用戶名和密碼並且能修改密碼的程序

#include <stdio.h>//我自己做的,你拿去用吧!
#include <string.h>
struct e
{
char a[10];
char b[10];
}z;
int main()
{ int t=0;
char s[10],d[10];
FILE *p;
void as();
if ((p=fopen("m.txt","r+"))==NULL)
{
p=fopen("m.txt","w+");
t=1;
}
if(t==1)
{
printf("當前沒有任何用戶\n");
printf("請新建用戶名: ");
scanf("%s",s);
printf("為用戶設置密碼: ");
scanf("%s",d);
strcpy(z.a,s);
strcpy(z.b,d);
fprintf(p,"%s %s",z.a,z.b);
fclose(p);
}
if(t==0)
{
printf("請輸入用戶名: ");
scanf("%s",s);
fscanf(p,"%s %s",z.a,z.b);
fclose(p);
if (!strcmp(z.a,s))
{
printf("請輸入密碼:");
scanf("%s",d);getchar();
if(!strcmp(z.b,d))
{ char i;
printf("是否要修改密碼?(輸入y修改,n退出!)");
scanf("%c",&i);
if(i=='y')
{
printf("請輸入修改密碼:");
scanf("%s",z.b);
p=fopen("m.txt","w+");
fprintf(p,"%s %s",z.a,z.b);
fclose(p);
printf("修改成功!");

}

}
else printf("密碼錯誤!");
}
else printf("用戶名錯誤");
fclose(p);

}

}

④ 怎麼用c語言寫一個創建用戶名和密碼並且能

#include
//我自己做的,你拿去用吧!
#include

struct
e
{
char
a[10];
char
b[10];
}z;
int
main()
{
int
t=0;
char
s[10],d[10];
FILE
*p;
void
as();
if
((p=fopen("m.txt","r+"))==NULL)
{
p=fopen("m.txt","w+");
t=1;
}
if(t==1)
{
printf("當前沒有任何用戶\n");
printf("請新建用戶名:
");
scanf("%s",s);
printf("為用戶設置密碼:
");
scanf("%s",d);
strcpy(z.a,s);
strcpy(z.b,d);
fprintf(p,"%s
%s",z.a,z.b);
fclose(p);
}
if(t==0)
{
printf("請輸入用戶名:
");
scanf("%s",s);
fscanf(p,"%s
%s",z.a,z.b);
fclose(p);
if
(!strcmp(z.a,s))
{
printf("請輸入密碼:");
scanf("%s",d);getchar();
if(!strcmp(z.b,d))
{
char
i;
printf("是否要修改密碼?(輸入y修改,n退出!)");
scanf("%c",&i);
if(i=='y')
{
printf("請輸入修改密碼:");
scanf("%s",z.b);
p=fopen("m.txt","w+");
fprintf(p,"%s
%s",z.a,z.b);
fclose(p);
printf("修改成功!");
}
}
else
printf("密碼錯誤!");
}
else
printf("用戶名錯誤");
fclose(p);
}
}

⑤ 如何用c語言來編一個簡單的密碼程序

這個問題很難解釋啊~如果最簡單的說,你有一個固定的密碼,比如123
那麼直接就是
if(password==123){
//你要輸出的正確信息,比如cout
?????????
}
else{
//錯誤信息
}
復雜來說,你的密碼可能存放在一個資料庫中,你就要先在資料庫中查找對應的用戶名,再核對密碼
此外,密碼一般是不能直接保存的,會被看到,所以你要有個加密演算法來保存你的密碼,簡單來說,你把正確的密碼加密後保存,你等他輸入一個密碼,你用同樣的演算法加密,再和你的保存的加密過的比較就OK了

⑥ 用c語言編寫一個設置密碼的程序

#include "stdio.h"
int* set(void);
int* set(void)
{
int i;
static a[4];
printf("請輸入要設置的4位密碼 :");
for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
}
return a;
}

int main()
{
int i,*a,b[4];
a=set();
printf("請輸入4位密碼 :");
for(i=0;i<4;i++)
{
scanf("%d",&b[i]);
}
i=0;
while(i<4)
{
if(a[i]==b[i])
{
printf("%d",a[i]);
i++;
}
else
{
break;
}
}
if(i==4)
{
printf("密碼正確\n");
}
else
{
printf("密碼錯誤\n");
}
return 0;

}

⑦ 請問,用C語言如何實現密碼輸入

c語言中可採用getch()函數來實現輸入密碼字元時,不顯示字元到終端上,這時,只需要顯示出一個相應的*就可以達到效果了。參考代碼及運行效果如下圖:

⑧ 【在線等…!!!】用C語言寫一個密碼程序

//---------------------------------------------------------------------------
#include
<stdio.h>
#include
<string.h>
#include
<ctype.h>
#define
PFE
"pas.dat"
/*保存密碼的文件*/
#define
DEFPAS
"123456"
/*初始密碼*/
void
setpass(void)
{
FILE
*fp=NULL;
char
pas[20];
printf("是否設置新密碼?(Y/N):");
fflush(stdin);
if
(tolower(getchar())=='y')
{
printf("請輸入新密碼:\
");
scanf("%20s",pas);
fp=fopen(PFE,"wb");
fwrite(pas,sizeof(char),strlen(pas),fp);
fclose(fp);
printf("已經設置新密碼,下次請使用新密碼登錄\
");
}
fflush(stdin);
}
int
main(void)
{
FILE
*pf;
char
pass[20]=DEFPAS,ch[20];
if
(pf=fopen(PFE,"rb"))
{
fread(pass,sizeof(char),20,pf);
fclose(pf);
}
printf("請輸入密碼:");
scanf("%s",ch);
if
(!strcmp(ch,pass))
{
printf("登錄成功\
");
setpass();
printf("歡迎使用本系統\
");
getchar();
}
else
printf("密碼錯誤,登錄失敗!\
");
return
0;
}
//---------------------------------------------------------------------------

⑨ c語言密碼

  1. 用什麼替換?

  2. 暫時用小寫加移位取?比如A加密成c,B加密成d,就是大寫變小寫後位置發生變化。



#include <stdio.h>
#include <string.h>
#include <ctype.h>

void EncodeString(char *str,int key)
{
int length,i;//length為傳入字元串長度,i用作循環計數器
length=strlen(str);
for(i=0;i<length;i++)//對字元串中的每個字元依次進行加密
{
if(isupper(str[i]))//對大寫字母加密
{
str[i]+=key%26;
if(str[i]>'Z')
{
str[i]-=26;
}
else if(str[i]<'A')
{
str[i]+=26;
}
}
else if(islower(str[i]))//對小寫字母加密
{
if(str[i]+key%26<128){
str[i]+=key%26;
if(str[i]>'z')
{
str[i]-=26;
}
else if(str[i]<'a')
{
str[i]+=26;
}
}
else{str[i]-=26;str[i]+=key%26;}
}

}
}

void main()
{
char arr[50],buffer;//arr[50]用來接收字元串信息,buffer用來接收緩沖區中的回車
int key;//key為加密秘鑰
printf("This program encodes messages using a cyclic cipher. ");
printf("To stop, enter 0 as the key. ");
while(1)//程序一直運行,直到輸入密鑰0為止
{
printf("Enter the key: ");
scanf("%d",&key);
scanf("%c",&buffer);
if(0==key)
{
break;//輸入密鑰為0,則退出程序
}
printf("Enter a message: ");
scanf("%s",arr);
scanf("%c",&buffer);
EncodeString(arr,key);
printf("Encoded message: %s ",arr);
}
}

熱點內容
vc60非靜態編譯 發布:2025-01-11 10:51:32 瀏覽:613
電腦上怎麼解壓縮文件 發布:2025-01-11 10:51:31 瀏覽:782
槍戰王者如何用賬號密碼登錄 發布:2025-01-11 10:30:56 瀏覽:936
mysql在linux下安裝 發布:2025-01-11 10:30:49 瀏覽:843
資料庫copy 發布:2025-01-11 10:26:06 瀏覽:533
unity清理緩存 發布:2025-01-11 10:25:23 瀏覽:466
優酷視頻雙擊上傳 發布:2025-01-11 10:24:41 瀏覽:963
存儲臍帶胎兒幹細胞 發布:2025-01-11 10:18:36 瀏覽:330
實簡ftp軟體怎麼改伺服器文件 發布:2025-01-11 10:09:39 瀏覽:555
qb充值源碼 發布:2025-01-11 10:00:21 瀏覽:27