當前位置:首頁 » 密碼管理 » 如何設計一個屬於自己的密碼語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何設計一個屬於自己的密碼語言

發布時間: 2023-08-25 15:39:54

Ⅰ 如何用c語言編寫密碼程序

1、用一個字元數組來存密碼
再用一個字元數組接收你的輸入,然後用strcmp
來比較,如果返回0則密碼是正確的
2、常式:

#include"stdio.h"
#include"string.h"
intmain()
{
charmima[100]="YuanShi888";
charinput[100]={0};
printf("請輸入密碼:");
gets(input);
if(strcmp(mima,input)==0)
printf("恭喜你,密碼正確! ");
else
printf("對不起,密碼輸入錯誤! ");

}

Ⅱ c語言程序設計 密碼設置程序怎麼編寫

- -|
這么多問題才10分...
給你一個密文輸出的程序好了..
其他自己想.
#include <stdio.h>
main()
{
char str[9]; //密碼串長9為
inputPW(str,8); //有效密碼長為8 最後一位要放\0 結束符的!
printf("\n密碼為: %s",str);
}

inputPW(char * s,int len) //自己寫的密碼輸入的函數
{
int i;
fflush(stdin); //清輸入流 跟flushall()類似
for(i=0; ;i++)
{
s[i]=getch();
if(s[i]==13) //輸入結束 不能用=='\n'來判斷!!
//因為對於回車來說getchar()='\n'=10;而getch()=13 !='\n' 這個要知道!
break;
if(s[i]==8 && i>0) //如果用戶按退格鍵 並且要有格可退時候
{
printf("\b \b"); //顯示退一格
i=i-2; //輸入數據退2(因為for循環體會加1 所以實際就是退了1)
continue;
}
if(i==len) {i--; continue;}
printf("*");
}
s[i]='\0'; //末尾補\0 所以該密碼實際有效長度為i-1;定義有效長為len 實際定義的串長為len+1
}

Ⅲ 如何使用c語言編寫一個密碼程序

密碼保存在文件中,從文件中讀取密碼,但是沒做容錯和異常處理,僅供參考

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

#define PSDLEN 6

void inputPsd(char *str) /*處理輸入*/
{
int i;

for(i = 0; i < PSDLEN; i++)
{
while(1)
{
str[i] = getch();
if(str[i] == '\b') /*處理退格鍵*/
{
i--;
if(i < 0)
{
i = 0;
}
else
{
printf("\b \b");
}
continue;
}
else if(str[i] == '\r') /*處理回車鍵*/
{
continue;
}
else
{
printf("*");
break;
}
}
}
str[i] = '\0';
printf("\n");
}

int checkFirst() /*檢測是否是第一次使用*/
{
FILE *fp;
if((fp = fopen("psd.dat", "rb")) == NULL)
{
return 1;
}
fclose(fp);
return 0;
}

void firstUse() /*第一次使用 需要輸入密碼*/
{
FILE *fp;
int i;
char passwd[PSDLEN + 1];
char checkPsd[PSDLEN + 1];

if((fp = fopen("psd.dat", "wb")) == NULL)
{
printf("Creat password error!\n");
exit(1);
}
while(1)
{
printf("Please input password:");
inputPsd(passwd);

printf("\nPlease input password again:");
inputPsd(checkPsd);

if(!strcmp(passwd, checkPsd))
{
break;
}
printf("\ncheck password error! \n");
}
fwrite(passwd, sizeof(char), PSDLEN, fp);
fclose(fp);
}

void login() /*核對密碼,並登錄*/
{
FILE *fp;
int i, num = 3;
char passwd[PSDLEN + 1];
char checkPsd[PSDLEN + 1];

if((fp = fopen("psd.dat", "rb")) == NULL)
{
puts("Open psd.dat error");
exit(1);
}
fread(passwd, sizeof(char), PSDLEN, fp);
fclose(fp);
passwd[PSDLEN] = '\0';

printf("Please input password to login");
while(num)
{
printf("you have %d chances to cry:\n", num);
inputPsd(checkPsd);
if(!strcmp(passwd, checkPsd))
{
break;
}
puts("\npassword error,Please input again");
num--;
}
if(!num)
{
puts("Press any key to exit...");
getch();
exit(0);
}
else
{
puts("\n--------\nWelcome!\n--------\n");
}
}

void main()
{
if(checkFirst())
{
firstUse();
}
else
login();

getch();
}

Ⅳ 用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語言程序設計 密碼設置程序怎麼編寫

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

int main(int argc,char *argv[])
{
const char user[]="wangpin";/*用戶名自己可改動*/
const char password[]="wangpin@126";/*密碼自己可改動*/
if(argc == 1)
{
printf("Input error! Usage:filename username password\n");
getch();
exit(1);
}
else if(argc == 3)
{
if (strcmp(argv[1],user) != 0 || strcmp(argv[2],password) != 0)
{
printf("Input error: Invalid username or password\n");
getch();
exit(1);
}
}
printf("Authentication Pass..\n");
sound(500);/*最簡單的音樂聲*/
delay(50000);
nosound();
getch();
return 0;
}

先運行這個程序得到一個exe類型的可執行文件,然後可以復制到c盤根目錄下,用桌面左下的圖標進入:開始-程序-附件-命令提示符
然後鍵入 cd \
到c盤根目錄下輸入
exe文件名 wangpin wangpin@126
就是運行這個程序
------------------------------------------------------------------
------------------------------------------------------------------
下面是一個簡單的音樂程序,你可以把它加到上面代替sound()到nosound()那一部分發出<<東方紅>>音樂歌曲(小心!聲音可能很大)
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>

int main(void)
{
int i,j;
int fr[]={392,392,440,294,262,262,220,294,392,392,
440,532,440,392,262,262,220,294,392,294,
262,247,220,196,392,294,330,294,262,262,
220,294,330,294,262,294,262,247,220,196};
int tim[]={4,2,2,8,4,2,2,8,4,4,2,2,2,2,4,2,2,8,4,
4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,2,2,2,2,12};
for(i=0;i<40;i++)
{
sound(fr[i]);
delay(tim[i]*100000000);
nosound();
}
system("pause");
return 0;
}

Ⅵ 如何用C語言編一個密碼生成器

C語言實現密碼生成器,參考代碼如下:

#include

#include
#include


//constcharlower_chars[]="abcdefghijklmnopqrstuvwxyz";
//constcharupper_chars[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//constcharnumber_chars[]="0123456789";
constcharlower_chars[]="abcdefghijkmnpqrstuvwxyz";//noloro
constcharupper_chars[]="ABCDEFGHJKLMNPQRSTUVWXYZ";//noIorO
constcharnumber_chars[]="23456789";//no1or0
constcharspecial_chars[]="!@#$%^&*()-=_+[]{};:'"<>,.?/";


constint_ks_pass_len=17;


voidmkpass(charpass[_ks_pass_len+1])
{
inti=0,j=0,k=0,n=0;
n=_ks_pass_len/4;
for(;i<n;i++)
{
pass[i]=lower_chars[rand()%(strlen(lower_chars))];
pass[i+n]=upper_chars[rand()%(strlen(upper_chars))];
pass[i+2*n]=number_chars[rand()%(strlen(number_chars))];
pass[i+3*n]=special_chars[rand()%(strlen(special_chars))];
}


j=_ks_pass_len-4*n;
for(i=0;i<j;i&#43;&#43;){
pass[i+4*n]=special_chars[rand()%(strlen(special_chars))];
}


//字元亂序
for(i=0;i<32;i++)
{
j=rand()%(_ks_pass_len);
k=pass[j];
pass[j]=pass[i%_ks_pass_len];
pass[i%_ks_pass_len]=k;
}


pass[_ks_pass_len]='';
}


int_tmain(intargc,_TCHAR*argv[])
{
srand(time(0));
charszPass[_ks_pass_len+1];
for(inti=0;i<16;i++)
{
mkpass(szPass);
printf("%s ",szPass);
}
return0;
}<j;i&#43;&#43;)

Ⅶ 懸賞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;
}

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