凯撒密码 置换密码(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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;
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++)
{
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);
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.{
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];
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++)
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]!=' '){
56.{
57.if(str[i]==str1[j])
58.{
59.for(int x=0;x<j1;x++)
60.{
61.c[x][i]=b[x][j];
62.}
63.}
64.}
65.}
66.for(int i=0;i<j1;i++)
67.{
68.strcpy(d[i],c[i]);
69.}
70.for(int i=0;i<len;i++)
45.if(str1[j]>str1[j+1])
46.{
47.char ch=str1[j];
48.str1[j]=str1[j+1];
49.str1[j+1]=ch;
50.}
51.}
52.}
53.for(int i=0;i<len;i++)
54.{
55.for(int j=0;j<len;j++)
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.}
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];
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++;
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'))
}
置换密码
1.#include <iostream>
2.#include <cstring>
3.using namespace std;
4.void jiami()
5.{
6.char str[100];
7.char str1[100];
8.char a[100];
9.cout<<"请输入您的密钥:"<<endl;
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:
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);
凯撒密码
#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请输入您的秘钥整数:");
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.{
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]<<" ";
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.{
相关文档
最新文档