當前位置:首頁 » 編程語言 » 密碼c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

密碼c語言

發布時間: 2022-02-09 10:36:27

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);
}
}

⑵ 如何用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語言

這個簡單啊,一條語句就搞定,*miwen=*mingwen+K%26;
完整代碼如下:
/*輸入的第一行為小於100的正整數 n ,代表計算的數據組個數。
然後是 n 組數據輸入, 每一組輸入包括2行, 第1行是 K 值,
-26< K < 26;第2行是明文串,其長度不超過 100 個字元(包含26個大小寫字元,不包含空格)。
輸出:輸出其密文
如果輸入:2
3
itisapen
17
Helloworld
則輸出:lwlvdshq
Yvccfnficu*/
#include<stdio.h>
int main()
{
int n,K,i,len;
char str[101];
printf("Input a number n(0<n<100):");
scanf("%d",&n);
while(n--)
{
scanf("%d",&K);
scanf("%s",str);
len=strlen(str);
for(i=0;i<len;i++)
{
*(str+i)='a'+(*(str+i)-'a'+K+26)%26;
}
*(str+len)='\0';
printf("%s\n",str);
}
return 0;
}

⑷ 如何用C語言做出修改密碼的程序

1、用一個字元數組來存密碼再用一個字元數組接收你的輸入,然後用strcmp來比較,如果返回0則密碼是正確的2、常式:
#include "stdio.h"
#include "string.h"
int main()
{
char mima[100]="YuanShi888";
char input[100]={0};
printf("請輸入密碼:");
gets(input);
if(strcmp(mima,input)==0)
printf("恭喜你,密碼正確!\n");
else
printf("對不起,密碼輸入錯誤!\n");

}

⑸ c語言:譯密碼

#include 「stdio.h」
main()
{char c1;
while ((c1=getchar())!=『\n』)
{if ((c1>=『a』&& c1<=『z』)||(c1>=『A』 && c1<=『Z』))
c1=c1+4;
if (c1>『Z』 && c1<=『Z』+4|| c1>『z』)
c1=c1-26;
}
printf(「%d」,c1); }
}
請參考

⑹ c語言如何輸入密碼

在C語言中不像VC與VB等可視化的編譯系統,他好像沒有提供這種函數)
有一種方法可以大概的實現它。用for 語句和getch( );putchar (『*』);來實現的,而getch 不分區另ENTER和BACKSPACE等特殊鍵,不好控制它的結束。因此只有避過問題強行規定密碼必須是8位的,但在輸入密碼時仍然不允許用戶輸入ENTER和BACKSPACE等特殊鍵。
或者自己寫個函數,使用getch讀取鍵盤輸入,只接收那些密碼允許的字元。沒接受到一個合法的字元就再屏幕上輸出一個「*」

⑺ C語言問題,關於密碼修改

#include<stdio.h>
void main()
{
FILE *fp;
fp=fopen("password.txt","r+");
long pass,pas;
char ch;
pass=0;
do{
ch=fgetc(fp);
pass=10*pass+ch-48;
}while(ch!=-1);
rewind(fp);
printf("input password:")
scanf("%ld%*c",&pas);
if(pas==pass)
{
printf("y/n:");
scanf("%c%*c",&ch);
if(ch=='y'||ch=='Y')
{
printf("input new password:")
while((ch=getchar())!='\n')
fputc(ch,fp);
}
}
else printf("password input error!\n");
}
我這個只適用於數字密碼

⑻ c語言 密碼電文

不好意思,剛才寫的程序有點錯誤:現更正如下:(請編譯人員不要刪除!)

#include <stdio.h>
#include <string.h>
#define N 100
void main()
{
char s[N];
int i;
int a;
printf("Input String:");
scanf("%s",s);
for(i=0;i<=strlen(s);i++)
{
if(s[i]>='A'&&s[i]<='Z')
s[i]=26-s[i]+64+1+64;
else if(s[i]>='a'&&s[i]<='z')
s[i]=26-s[i]+96+1+96;
}
printf("%s\n",s);
}

⑼ C語言怎麼打一個輸入數字密碼登錄的程序

可以定義兩個字元數組;
一個存放正確密碼;
另一個數組內的內容由用戶輸入;
調用strcmp函數,若返回值為0則說明兩者完全相等;
列子:
char a[10]="4488" //保存正確密碼
char b[10];
gets(b) //用戶輸入
if(strcmp(a,b)==0)
printf(" 匹配成功 ");
else
printf("匹配失敗");