用c語言設計簡單地加密算,解密演算法,並說明其中的原理

2022-02-19 15:30:52 字數 2352 閱讀 9227

1樓:略懂c語言

恰巧這兩天剛看的一種思路,很簡單的加密解密演算法,我說一下吧。

演算法原理很簡單,假設你的原密碼是a,用a與數b按位異或後得到c,c就是加密後的密碼,用c再與數b按位異或後能得回a。即(a異或b)異或b=a。用c實現很簡單的。

這就相當於,你用原密碼a和特定數字b產生加密密碼c,別人拿到這個加密的密碼c,如果不知道特定的數字b,他是無法解密得到原密碼a的。

對於密碼是數字的情況可以用下面的**:

#include

#define birthday 19880314int main()

如果密碼是字串的話,最簡單的加密演算法就是對每個字元重新對映,只要加密解密雙方共同遵守同一個對映規則就行啦。

2樓:望_稻草人

可能很長 ,這是在我以前一個程式裡摘出來的。

原理:使用者輸入建立密碼,機器讀取,並把每一位密碼進行加密,這裡就是把每一位的 ascii碼加一(也可以有其他的加密方式),然後儲存在檔案裡。解密時從檔案中讀取儲存的亂碼,然後把它每一位的ascii碼減一 在與你輸入的密碼比較,正確既可以進入。

#define code_size 10int password()

else

fputs(s1, fp);

printf("初始密碼建立完成.\n");}}else

fclose(fp);

}else

loop:

if (strcmp(s1, s2) == 0)else

fputs(s1, fp);

fclose(fp);

printf("密碼修改成功\n");}}else

break;

case 2: return 1;

default: printf("無效指令\n");}}else

}printf("------------------\n\n\n\n");}}

3樓:程式猿3號

如果是簡單的話,從des或3des開始吧,這比較初級,加密方式看看ebc和cbc,以前做過幾個簡單的例子

從網上搜尋一下,很多例子的。

c語言設計一個簡單的加密解密程式 20

4樓:匿名使用者

加密程式**:

#include

main()

if(c!=-1)

fprintf(fp2,"%c",c);

}while(c!=-1);

}解密程式**:

#include

#include

main()

if(c!=-1)

fprintf(fp2,"%c",c);

}while(c!=-1);

}else}

5樓:

c++的

// 常量

#define c1 52845

#define c2 22719

cstring encrypt(cstring s, word key) // 加密函式

s=result; // 儲存結果

result.empty(); // 清除結果

for(i=0; i>8)); // 將金鑰移位後與字元異或

key = ((byte)s.getat(i)+key)*c1+c2; // 產生下一個金鑰

}return result;}用法

cstring text=_t("192.168.18.14");//需要加密的字串

word key=1314;//key

cstring jiami=encrypt(text,key);//加密

afxmessagebox(_t("密文:")+jiami);

cstring jiemi=decrypt(jiami,key);//解密

afxmessagebox(_t("原文:")+jiemi);

用c語言設計一個加密 解密 密碼 的程式。

用c語言設計了一個加密演算法:用a代替z,用b代替y,用c代替x,……,用z代替a。

6樓:

#include

int main()

if((*p >= 'a') && (*p <= 'z')) /*處理大寫,同理處理數字亦一樣..自己例推*/

p++;

}printf("轉換後的字串為 : %s\n\n",s);

return 0;}

7樓:海天雨下

#include

int main()}

高分c語言程式設計6題求用最簡單的定義語言

include include void q1 void printf d n cot return void q2 void for i 0 i k i for i 0 i k i printf s n s i return void q3 void int sum 0,i for i 0 i k...

怎樣用簡單C語言將A轉化成a,C語言 如何把A Z轉換成1 26?輸入一個字母 輸出一個數字。

最簡單的方法就是 char c a 32 void main char c a 32 printf c c c getch 擴充套件資料算術運算子 用於各類數值運算。包括加 減 乘 除 求餘 或稱模運算,自增 自減 共七種。關係運算子 用於比較運算。包括大於 小於 等於 大於等於 小於等於 和不等於...

c語言,怎麼用for 迴圈給陣列賦值說的簡單詳細點

for i 1 i 11 i scanf d a i 給個抄參襲考資bai 料你du看zhi 看吧dao 一個簡單 抄的例子 int main return 0 const int max szie 200 int arr max size 良好抄習襲慣,bai定義 du先初zhi始化 daofor...