/*
0.3版本
該版本整合了caesar和單錶置換。
修復了0.2版本的致命錯誤。
writed by wintersun 2014/10/27
*/#include#include#include#define size 500
char x[size],y[size];
int int_key;
char str_key[100];
char str_passtable[30];//單錶置換的密碼表。
int main()
int meau()
}void caesar_lock(char*x,char*y,int int_key)//加密函式
if(*x>='a'&&*x<='z')
*y=*x;
y++;
x++;
} *y='\0';
}void caesar_unlock(char*x,char*y,int int_key)//解密函式
if(*x>='a'&&*x<='z')
*y=*x;
y++;
x++;
} *y='\0';
}void displace_lock()
str_len--;
for(char a='a';a<='z';a++)//填充字母表。
str_key[++str_len]=a;
str_key[++str_len]='\0';
str_len++;
int len_table=0;
int flag=0;
str_passtable[0]=str_key[0];
for(int j=1;j='a'&&str_key[i]<='z')
str_key[i]+=32;
if(x[i]>='a'&&x[i]<='z')
x[i]+=32;
} str_len--;
for(char a='a';a<='z';a++)//填充字母表。
str_key[++str_len]=a;
str_key[++str_len]='\0';
str_len++;
int len_table=0;
int flag=0;
str_passtable[0]=str_key[0];
for(int j=1;jif(flag==0)
}//以上密碼表製作完成,密文對照明文輸出。
char unpass[27];
for(int i=0;i<26;i++)
unpass[i]=f(i);
//置換成解密表
int len_x=strlen(x);
for(int i=0;iy[i]=unpass[x[i]-'a'];
y[len_x]='\0';
}void press()//該函式用來等待使用者按鍵並清屏。
加解密方法
imports system imports system.security.cryptography imports system.text imports system.io public class encryptor private shared iv as byte private sha...
加解密簡介
加密技術,簽名技術的需要做到三防一確認。一防竊聽,二防篡改,三防抵賴,確認對方身份。在電子商務過程中,開始時必須確認對方身份,不然談了半天,發現網際網路那頭真是一條狗,就悲劇了。防竊聽是指,即便有人在網路傳輸過程中得到了資料,看到的也是亂七八糟,無法從中得知正常的資訊。舉個例子,談判前老總通過網路跟...
字元加解密
using system using system.security.cryptography using system.web.security using system.io using system.text using system.configuration namespace x.com...