当前位置:文档之家› 凯撒密码 置换密码(1)

凯撒密码 置换密码(1)

172.}
173.}
174.int main()
175.{
176.
177.int choice;
178.cout<<"请输入您的选择:"<<endl;
179.cout<<"1.加密;2.解密;"<<endl;
180.cin>>choice;
181.switch (choice)
182.{
183.case 1:
18.char d[100][100];
19.int j=0;
20.int t=0;
21.int j1;
22.int t1;
23.for(int i=0;a[i]!='\0';i++)
24.{
25.if(a[i]!=' '){
26.b[j][t]=a[i];
27.c[j][t]=a[i];
28.
29.t++;
凯撒密码
#include<stdio.h>
#include<string.h>
int main()
{
char save[10][30];
int a,b,i,j;
printf("\n请输入您要加密明文的条数:");
scanf("%d",&a);
for(i=0;i<a;i++)
{
printf("\n请输入您的秘钥整数:");
162.d[x][i]=c[x][j];
163.}
164.}
165.}
166.}
167.cout<<"经置换算法解密后的明文为:"<<endl;
168.for(int i=0;i<le;i++)
169.{
170.for(int j=0;j<len;j++)
171.cout<<d[i][j]<<" ";
127.for(int j=0;j<len-i-1;j++)
128.{
129.if(str1[j]>str1[j+1])
130.{
131.char ch=str1[j];
132.str1[j]=str1[j+1];
133.str1[j+1]=ch;
134.}
135.}
136.}
137.for(int i=0;i<len;i++)
151.{
152.strcpy(d[i],c[i]);
153.}
154.for(int i=0;i<len;i++)
155.{
156.for(int j=0;j<len;j++)
157.{
158.if(str[i]==str1[j])
159.{
160.for(int x=0;x<le;x++)
161.{
10.cin.get();//每次在重新输入前必须加这个!
11.cin.get(str,100);
12.cout<<"请输入您的明文:"<<endl;
13.cin.get();
14.cin.get(a,100);
15.int len=strlen(str);
16.char b[100][100];
17.char c[100][100];
184.jiami();
185.break;
186.case 2:
187.jiemi();
188.break;
189.default:
190.break;
191.}
192.// cout << searchnum(s)<< endl;
193.return 0;
194.}
113.b[j][t]=a[i];
114.c[j][t]=a[i];
115.j++;
116.if(j>=le)
117.{
118.j=0;
119.t++;
120.}
121.}
122.else{};
123.}
124.strcpy(str1,str);
125.for(int i=0;i<len;i++)
126.{
138.{
139.for(int j=0;j<len;j++)
140.{
141.if(str[i]==str1[j])
142.{
143.for(int x=0;x<le;x++)
144.{
145.c[x][i]=b[x][j];
146.}147ຫໍສະໝຸດ }148.}149.}
150.for(int i=0;i<le;i++)
96.cout<<"请输入您的密钥:"<<endl;
97.cin.get();
98.cin.get(str,100);
99.cout<<"请输入您的密文:"<<endl;
100.cin.get();
101.cin.get(a,100);
102.int len=strlen(str);
103.int len1=strlen(a);
84.for(int i=0;i<len;i++)
85.{
86.for(int j=0;j<j1;j++)
87.cout<<d[j][i]<<" ";
88.}
89.}
90.void jiemi()
91.
92.{
93.char str[100];
94.char str1[100];
95.char a[100];
71.{
72.for(int j=0;j<len;j++)
73.{
74.if(str[i]==str1[j])
75.{
76.for(int x=0;x<j1;x++)
77.{
78.d[x][i]=c[x][j];
79.}
80.}
81.}
82.}
83.cout<<"经置换算法后的密文为:"<<endl;
{
save[i][j]+=b;
if(((save[i][j]>='A'&&save[i][j]<='Z')||(save[i][j]>='a'&&save[i][j]<='z'))==0)
save[i][j]-=26;
}
}
printf("\n输出的密文为:");
puts(save[i]);
}
return(0);
104.int le=len1/len;
105.char b[100][100];
106.char c[100][100];
107.char d[100][100];
108.int j=0;
109.int t=0;
110.for(int i=0;a[i]!='\0';i++)
111.{
112.if(a[i]!=' '){
}
置换密码
1.#include <iostream>
2.#include <cstring>
ing namespace std;
4.void jiami()
5.{
6.char str[100];
7.char str1[100];
8.char a[100];
9.cout<<"请输入您的密钥:"<<endl;
30.if(t>=len)
31.{
32.t=0;
33.j++;
34.}
35.j1=j;
36.t1=t;
37.}
38.else{};
39.}
40.strcpy(str1,str);
41.for(int i=0;i<len;i++)
42.{
43.for(int j=0;j<len-i-1;j++)
44.{
scanf("%d",&b);
printf("\n请输入明文:");
getchar();
gets(save[i]);
for(j=0;j<30;j++)
{
if((save[i][j]>='A'&&save[i][j]<='Z')||(save[i][j]>='a'&&save[i][j]<='z'))
45.if(str1[j]>str1[j+1])
46.{
47.char ch=str1[j];
相关主题