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...