c語言密碼軟體,c語言密碼軟體有哪些

本文目錄一覽:

如何用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語言編一個密碼生成器

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

#include 

#include 

#include 

//const char lower_chars[] = “abcdefghijklmnopqrstuvwxyz”;

//const char upper_chars[] = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;

//const char number_chars[] = “0123456789”; 

const char lower_chars[] = “abcdefghijkmnpqrstuvwxyz”; // no l or o

const char upper_chars[] = “ABCDEFGHJKLMNPQRSTUVWXYZ”; // no I or O

const char number_chars[] = “23456789”; // no 1 or 0

const char special_chars[] = “!@#$%^*()-=_+[]{};:’\”,.?/”;

const int _ks_pass_len = 17;

void mkpass(char pass[_ks_pass_len+1])

{

int i = 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; ij; 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] = ‘\0’;

}

int _tmain(int argc, _TCHAR* argv[])

{

srand(time(0));

char szPass[_ks_pass_len+1];

for (int i=0; i16; i++)

{

mkpass(szPass);

printf(“%s\n”,szPass);

}

return 0;

}j; i#43;#43;)

如何使用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();

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/199407.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-05 10:21
下一篇 2024-12-05 10:21

相關推薦

  • Python腳本控制其他軟體

    Python作為一種簡單易學、功能強大的腳本語言,具有廣泛的應用領域,在自動化測試、Web開發、數據挖掘等領域都得到了廣泛的應用。其中,Python腳本控制其他軟體也是Python…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 量化交易軟體哪個好?

    量化交易軟體是為量化交易而設計的工具,能夠用程序化方法對市場數據進行分析和交易決策。那麼,哪個量化交易軟體最好呢?下面從幾個方面進行詳細闡述。 一、交易功能 交易功能是量化交易軟體…

    編程 2025-04-29
  • Python通配符有哪些

    Python通配符是一種表示字元串中模糊匹配的有效工具,用於匹配與具有特定模式匹配的字元串。Python中主要的通配符有:*,?,[]和{}。 一、星號通配符 * 在Python中…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • 註冊表取證工具有哪些

    註冊表取證是數字取證的重要分支,主要是獲取計算機系統中的註冊表信息,進而分析痕迹,獲取重要證據。本文將以註冊表取證工具為中心,從多個方面進行詳細闡述。 一、註冊表取證工具概述 註冊…

    編程 2025-04-29

發表回復

登錄後才能評論