用C語言設計移位加密演算法,用C語言設計乙個移位加密演算法

2022-03-10 07:38:28 字數 3509 閱讀 2314

1樓:

很簡單的,直接讀取字串,然後放進字串陣列裡,然後根據金鑰的數字i ,得到i的位數,除以相應的1000,100,10等,最後到1,得到金鑰的各個位上的數,然後將其也放進乙個陣列裡,然後,對第二個金鑰的陣列讀出來直接操作第乙個明文的陣列,再將操作的陣列放進另乙個陣列中即可。

2樓:匿名使用者

這種加密方式首先要確定明文的編碼格式,你不會想在加密程式裡再搞一套字元編碼識別程式演算法吧?

這裡假定明文為unicode,這方便一點,每個字元兩個位元組。

還有乙個問題要解決:假如剩餘的明文比金鑰短的時候怎麼辦?比如:

明文:我非

金鑰:5716243

此時如何加密?

3樓:匿名使用者

// hashstr是金鑰

// size 是hashstr 陣列的大小// orgstr 是原始字串

// 這裡整數倍,非整數都可以計算

// 假設這裡都是英文本母

// 如果我錯了,幫忙糾正一下,倉促寫的** : )#include "stdio.h"

#include "stdlib.h"

#include

#include

while(i < orgstr.size())resultstr[orgstr.size()] = '\0';

std::cout << resultstr << std::endl;

}int main()

;std::string c = "woaizuguotiananmen";

encrption(hashstr, size, c);

std::cout << c << std::endl;

return 0;}

4樓:愛問小聖

這個一般不複雜用移位迴圈,大小寫轉換方式來。

或者配乙個陣列金鑰來移位

5樓:

crc16

abcde = a * 2^4 + b* 2^3 +c*2^2+d*2^1+e*2^0

6樓:

3個字一組,分成2個字和1個字?好吧,我猜的

利用c語言實現移位加密和解密演算法

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

7樓:

#include

int main()

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

p++;

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

return 0;}

8樓:海天雨下

#include

int main()}

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

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

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

10樓:望_稻草人

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

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

11樓:程式猿3號

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

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

用c語言編寫檔案移位加密與解密程式,如加密:設原文為abcdef,金鑰為5,則有abcdef每個字母按字母表向後 15

12樓:

你可以參考這個問題的程式:http://zhidao.

希望採納,那裡面有我的回答解釋,謝謝

跪求c語言程式設計問題 檔案移位加密與解密 急!

13樓:匿名使用者

我自己用c#做了一下這功能,注釋都寫上了,希望能幫上你忙 ~ ~using system;

using system.collections.generic;

using system.text;namespace myhomeworktest30

console.readline();}}public class emp

public int show()//實現加密的方法return arr.length;//返回字元陣列的長度}//定義乙個索引器

public char this[int index]set}}}

c語言(檔案的移位與加密解密)

14樓:樂跑小子

#include

void code(char *p,int key)}void uncode(char *p,int key)}main()

else if(n==2)}

基於C語言的DES加密演算法的實現要怎麼寫啊

首先c語言要熟悉,然後去圖書館借一本加密解密的書,要裡面有c語言des實現 的 這種書是有的,我看到過 先對加密解密的歷史及發展現狀進行介紹,然後著重對des加密的發展歷史及原理進行闡述 以上內容要多借幾本相關書綜合一下用自己的語言表達出來 然後對des的演算法寫個程式 可以利用書裡面的程式 然後執...

用c語言設計程式求,用C語言設計乙個程式,求12345n

include stdio.h include stdlib.h int main void for sum 0,t i 1 i n sum t i printf the result is d n sum return 0 include stdio.h int jiecheng int x ma...

c語言中sin 函式用的什麼演算法

這個是庫函式吧 只有有說明就可以用了,你試一下,不用包含 math.h直接寫一個宣告,double cdecl sin double x 就可以用了 庫函式沒有原始檔可以看的,只有二進位制可執行 連線時,加到你的程式中。這是編譯器提供的。補充一下 樓主問的是 sin 這個函式,cpu是如何實現的cp...