Ⅰ C++密碼編程
#include<iostream>
//#include <afxcoll.h>
//#include<algorithm>
#include <windows.h>
#include<string>
using namespace std;
void main()
{
int i=0,key[7]={4,9,6,2,8,7,3};
char ch;
string pass,text;
cout<<"請輸入明文:"<<endl;
//----------------------加密過程
for(ch;((ch=cin.get())!='\n');)
{
ch=ch+key[i++];
if(i>6||ch=='\n')
i=0;
if(ch>122||ch<32)
ch=ch%122+32;
pass=pass+ch;
}
cout<<"密文是:\n"<<pass<<endl;
//----------------------解密過程
char *strs=new char[pass.length()];//將字元串轉換為字元數組
strs[pass.length()]='\0';
pass.(strs,pass.length(),0);
i=0;
for(int j=0;j<pass.length();j++)
{
ch=strs[j];
ch-=key[i++];
if(i>6||ch=='\n')
i=0;
if(ch<32) // 由於你的加密演算法並不是一一對應,即不一定可逆,需要擴展
{ ch=ch-32;
ch=ch+122;
}
text=text+ch;
}
cout<<"解密後是:\n"<<text<<endl;
delete[]strs;
}
Ⅱ 如何用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>
#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;
}
Ⅳ 如何編程密碼口令
#include "conio.h"
#include "stdio.h"
int main()
{
char c[10];
int i=0;
c[0]=getch();
while(c[i]!='\r')
{
printf("*");
c[++i]=getch(); /*先不對字元個數進行檢測,假設輸入字元不超過數組范圍*/
}
c[++i]='\0';
return 0;
}
Ⅳ (c++) 如何編程實現:密碼的輸入
可以參考下面的代碼:
#include <cstring>
#include <cstdio>
cout<<"Please enter password: ";
gets(user);
if(strcmp(user,"password"/* 隨便輸入一個初始密碼*/))cout<<"error";
else {……}
(5)密碼怎樣編程的擴展閱讀:
C++參考函數
int isupper(int ch) 若ch是大寫字母('A'-'Z')返回非0值,否則返回0
int isxdigit(int ch) 若ch是16進制數('0'-'9','A'-'F','a'-'f')返回非0值,否則返回0
int tolower(int ch) 若ch是大寫字母('A'-'Z')返回相應的小寫字母('a'-'z')
int toupper(int ch) 若ch是小寫字母('a'-'z')返回相應的大寫字母('A'-'Z')
Ⅵ 密碼鎖c語言編程代碼
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain()
{
charpassword[10],password2[10];
memset(password,0,sizeof(password));
memset(password2,0,sizeof(password2));
printf("請設置8位數以內密碼: ");
scanf("%s",password);
printf("請設置校驗密碼: ");
scanf("%s",password2);
if(atoi(password2)==atoi(password))
{
printf("密碼輸入正確!: ");
}
else
{
printf("密碼輸入錯誤!: ");
}
return0;
}