C語言中最簡單的字串加密解密問題希望大家幫幫忙,分

2022-02-20 02:38:00 字數 1404 閱讀 3412

1樓:陳宗權

問題在於,你的加密演算法是不可逆的,也就是說,無法保證解密。

比如原文是aw,加密之後是aa,你解密成什麼啊?ww?

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

2樓:略懂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()

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

3樓:望_稻草人

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

原理:使用者輸入建立密碼,機器讀取,並把每一位密碼進行加密,這裡就是把每一位的 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");}}

4樓:程式猿3號

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

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

如題,求j**a的des演算法**,可以用於解密用c語言寫的des加密演算法!其中c語言**見問題補充 80

5樓:匿名使用者

俺就是來幫助你這樣可愛的人。俺可是花了幾年的時間費了多大的力氣才能把這個東西弄出來!

des加密還沒有aes嚴密:

c語言中字串如何轉為整型數值,C語言中 字串如何轉為整型數值

在c語言中將字串轉化成整型有兩種方法。1 用atoi函式。atoi的功能就是將字串轉為整型並返回。其宣告為int atoi char str 比如atoi 1234 會返回整型1234。要呼叫atoi,需要引用標頭檔案stdio.h2 用sscanf。sscanf與標準格式化輸入函式scanf類似,...

C語言中字串常量和字元常量的區別

字元常量是單引號中的,在ascii表中有對應編號,字串是雙引號中的,單引號是字元常量 雙引號是字串常量 字串常量是一個或多個字元組成的常量 比方說一個字串常量a 給它的初始值是 abc123 可以是一個字元 5 構成但是字元常量只能是一個字元 比方說一個字元常量 a它的初始值為 1 不能多於一個字元...

c語言字串陣列的問題C語言字串陣列的問題

include int main scanf s a for i 0 a i 0 i for j 0 j 5 j 修改 1 下標從0 4,共5個 return 0 每行結尾的 僅僅是為了連線字串使用的,如果一個字串過長,寫在一行比較不合適,就在該行結尾處加上一個反斜槓 就可以在下邊的行繼續寫這個字串...