用户登录
用户注册

分享至

恺撒密码加密解密软件 用C语言编程恺撒密码加密解密程序

  • 作者: 我放的下
  • 来源: 51数据库
  • 2020-04-21

#include<stdio.h>

#defineisletter(c)(((c)>='a'&&(c)<='z')||((c)>='A'&&(c)<='Z'))

voidEnc(constchar*str,char*out,intkey)

{

inti=0;

while(str[i])

{

if(isletter(str[i]))

{

out[i]=str[i]+key;

if(!isletter(out[i]))

out[i]-=26;

}

else

out[i]=str[i];

i++;

}

out[i]=0;

}

voidDenc(constchar*str,char*out,intkey)

{

inti=0;

while(str[i])

{

if(isletter(str[i]))

{

out[i]=str[i]-key;

if(!isletter(out[i]))

out[i]+=26;

}

else

out[i]=str[i];

i++;

}

out[i]=0;

}

intmain()

{

charout[100],out2[100];

Enc("THEQUICKBROWnfoxjumpsoverTHELAZYDOG",out,3);

printf("%s\n",out);

Denc(out,out2,3);

printf("%s\n",out2);

}

不好意思,运行界面怎么不是跟图的一样?

求python中的恺撒密码的加密,解密,以及破解的程序

凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。

如下代码是以偏移量为13展开计算的。123

源代码如下:

sr1="abcdefghijklmnopqrstuvwxyz"sr2=sr1.upper()

sr=sr1+sr1+sr2+sr2

st="The Zen of Python"sResult=""for j in st: if j==" ":

sResult = sResult +" "

continue

i=sr.find(j) if(i>-1):

sResult=sResult+sr[i+13]print sResult12345678910111213

运行结果为:

Gur Mra bs Clguba

C++代码 加密解密“恺撒密码” 要做界面

要是不要界面,我就做的出;要界面,我也做的出,只是要打太多字。看有没有空啦

我用MFC做的,呵呵。我把这个工程发给你吧。 我好像不小心做错了。

真的看错题目了,我还以为是以前老师教我们做的“凯撒密码”小程序呢。

我再去写。~~~~~~~~~~~~~~~~~~~~~~~~

C++代码 加密解密“恺撒密码” 要做界面

纯手工写,下面的我写的两个加密与解密的函数,LZ只要放到你的button按钮代码的同一文件里就可以了,LZ可以在点击加密的时候先获取textbox1的值,再调用encoder函数,然后把返回值写到textbox2里,解密同理。

我这里MFC跑不起来

#include <iostream>

#include<string>

using namespace std;

string encode="abcdefghijklmnopqrstuvwxyz";//明文

string decode="ACBDFEHGJILKNMPQOSTRUVZYXW";//暗文

//encode与decode一一对应

string decoder(string s)//解密函数

{

for(int i=0;i<s.length();i++)

{

for(int j=0;j<26;j++)

{

if(s[i]==decode[j])

{

s[i]=encode[j];

break;

}

}

}

return s;

}

string encoder(string s)//加密函数

{

for(int i=0;i<s.length();i++)

{

if('s[i]'-'0'<47)s[i]=s[i]+32;

for(int j=0;j<26;j++)

{

if(s[i]==encode[j])

{

s[i]=decode[j];

break;

}

}

}

return s;

}

void main()

{

string s;

cin>>s;

s=encoder(s);

cout<<s<<endl;

s=decoder(s);

cout<<s<<endl;

}

加密解密“恺撒密码”有高手没?帮帮忙,只能用C++语言做哦

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

const int MAX_N=200;

int main(int argc, char *argv[])

{

int i,j,p;

char text[MAX_N];

char alphabet[30];

char op[10];

while(1)

{

printf("1---输入密码表 2---退出\n");

gets(op);

if(strcmp(op,"1")==0)

{

printf("密码表:");

gets(alphabet);

while(1)

{

printf("1---加密 2---解密 3---返回\n");

gets(op);

if(strcmp(op,"1")==0 ||strcmp(op,"2")==0 )

{

printf("输入文本:");

gets(text);

for(i=0;text[i]!='\0';i++)

{

if((text[i]>='a'&&text[i]<='z') || (text[i]>='A'&&text[i]<='Z') )

{

if(strcmp(op,"1")==0)

{

p=text[i]>='a'? (text[i]-'a'):(text[i]-'A');

text[i]=text[i]+ alphabet[p]-(p+'A');

}

else

{

for(j=0;;j++)

if(alphabet[j]==text[i]||alphabet[j]==(text[i]-('a'-'A')))

break;

text[i]= text[i]>='a' ? (j+'a') :(j+'A');

}

}

}//for(i)

if(strcmp(op,"1")==0)

printf("加密后的文本为:" );

else

printf("解密后的文本为:");

printf("%s\n\n",text);

}

else if(strcmp(op,"3")==0)

{

printf("\n");

break;

}

else

{

printf("选择有误!请重新选择!\n");

}

}//while(1)

}

else if(strcmp(op,"2")==0)

{

exit(1);

}

else

{

printf("选择有误!请重新选择!\n");

}

}

return 0;

}

/*

输入样例

QWERTYUIOPASDFGHJKLZXCVBNM

Welcome to ZZSY2009!

输出样例

Vtsegdt zg MMLN2009!

*/

VB使用恺撒密码加密或解密文件源码。老一ARTERIOSCLEROS快来帮忙~

老鼠,你看你这样提问,人家都不敢回答了,太露骨了罢。

=================

Option Explicit

Private Sub Form_Load()

Open "d:\a.txt" For Binary As 1

Open "d:\1.txt" For Binary As 2

Dim s() As Byte, i As Long

ReDim s(LOF(1))

s = InputB(LOF(1), 1)

For i = 0 To UBound(s) - 1

Put 2, i + 1, s(i) + 1 '这个1就是密码?

Next

Close

End

End Sub

恺撒(caesar)密码如何用C语言编写,要求是加密和解密都有

我写了一个加密的

#include <stdio.h>

#include <string.h>

#define MAXSIZE 81

int main()

{

char str[MAXSIZE];

int i;

int offset;

int n;

printf("请输入要加密的字符串:"); //最大输入个数是80个字符

gets(str);

printf("请输入要偏移量:"); //若将a变为b,则偏移量为1,以此类推,偏移量在1-25之间

scanf("%d%*c", &offset);

n = strlen(str);

for (i = 0; i < n; i++)

{

if ('a' <= str[i] && str[i] <= 'z' - offset || 'A' <= str[i] && str[i] <= 'Z' - offset)

str[i] += offset;

else

str[i] += offset - 26;

}

printf("加密后的字符串是:");

puts(str);

return 0;

}

加密解密“恺撒密码”有高手没?帮帮忙,只能用C语言做哦

c++语言编写网址:

http://meipu-001.blog.sohu.com/17636591.html

c语言编写网址:

http://zhidao.baidu.com/question/14453586.html?si=4&wtp=wk

转载请注明出处51数据库 » 恺撒密码加密解密软件 用C语言编程恺撒密码加密解密程序

软件
前端设计
程序设计
Java相关