java Caesar密码程序 凯撒密码问题?。。har c = abc.charAt(i);不用类也是可以做的凯撒密码java代码实现 , 不过看起来有些哆嗦凯撒密码java代码实现 , 随便看一下吧凯撒密码java代码实现 , 自己再改简单一点
using namespace std;
const int N=20;
void main()
{int k;
void encipher(char c[],int b);
void decipher(char c[],int b);
char plaintext[N];
cout"Please enter the keywards k(0k26):"endl;
cink;
cout"Please enter the plaintext:"endl;
cinplaintext;
cout"the ciphertext is:";
encipher(plaintext,k);
cout"the plaintext is:";
decipher(plaintext,k);
}
void encipher(char c[],int b)
{
int i;
int a[N];
for(i=0;iN;i)
a[i]=c[i];//注凯撒密码java代码实现:128~255是IBM-PC上专用的凯撒密码java代码实现,ASCII代码中000-127是标准的,如果是z加20的就会超出128 , 故先赋给整型,然后再转换过来,
for(i=0;a[i]!='\0'iN;i)
{
if((a[i]='A'a[i]='Z')||(a[i]='a'a[i]='z'))
{
a[i]=a[i] b;
if((a[i]'Z'a[i]='Z' b)||(a[i]'z'))
a[i]=a[i]-26;}
}
for(i=0;iN;i)
c[i]=a[i];
for(i=0;iN;i)
coutc[i];
coutendl;
}
void decipher(char c[],int b)
{
int i;
for(i=0;c[i]!='\0'iN;i)
{
if((c[i]='A'c[i]='Z')||(c[i]='a'c[i]='z'))
{
c[i]=c[i]-b;
if((c[i]='a'-bc[i]'a')||c[i]'A')
c[i]=c[i] 26;}
}
for(i=0;iN;i)
coutc[i];
}
凯撒密码判断是不是整型 , 请高手指点 。如下代码condition处Scanner.nextInt()返回凯撒密码java代码实现的就是int类型凯撒密码java代码实现 , 一定是整数,不会不是整数凯撒密码java代码实现的
怎么用凯撒密码加密一句中文?凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密 。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文 。例如 , 当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C 。由此可见,位数就是凯撒密码加密和解密的密钥 。我对“怎么用凯撒密码加密一句中文”产生了疑问,实际上解决方法可以有很多种,例如用数组中不断地“大、风、方……”这些词的简单位移,事实上经过搜索,我选择了使用的变换来完成 。即,可以用汉字对应的字符码来进行变换操作,这样出来的还是汉字 。比如汉字“一”是0x4e00,凯撒移位为1的话0x4e00 1=0x4e01,对应的汉字是“丁”,如果移位为三,就是0x4e03,对应汉字是“七” 。将汉字范围内的整型转换为16进制字符串作为后缀,前面加入\u,形成对应的unicode值 。这段代码并不复杂,遇到的问题在于:当我在main函数调用时,注释掉的该行(如下)不能够实现我把转义字符\去掉,即最后输出的是夺这种形式,而非unicode值对应的“太” 。只要把得到的报文中的“\”换成“\”,我想就能正常地将Unicode输出成中文了 , 首先想到的是使用字符串的方法 。使用(“\\“,“\“),但是发现输出结果没有任何变化 。解决方法是:查了下API文档,方法的定义是:public String replaceAll( String regex,String replacement)。
凯撒密码实现英文短句的加解密1.将“We are students.”这个英文词句用k=4的凯萨密码翻译成密码
1. 恺撒密码,
作为一种最为古老的对称加密体制,他的基本思想是:
通过把字母移动一定的位数来实现加密和解密 。
例如,如果密匙是把明文字母的位数向后移动三位,那么明文字母B就变成了密文的E,依次类推,X将变成A,Y变成B,Z变成C,由此可见 , 位数就是凯撒密码加密和解密的密钥 。
如:ZHDUHVWXGHQWV(后移三位)
2. 凯撒密码,
是计算机C语言编程实现加密和解密 。挺复杂的 。你可以研究一下哦 。
2.将凯撒密码(K=7)的加密、解密过程用C语言编程实现
/*
声明:MSVC6.0环境测试通过
*/
#includestdio.h
#includectype.h
#define maxlen 100
#define K 7
char *KaisaEncode(char *str)//加密
{
char *d0;
d0=str;
for(;*str!='\0';str)
{
if(isupper(*str))
*str=(*str-'A' K)& 'A';
else if(islower(*str))
*str=(*str-'a' K)& 'a';
else
continue;
}
return d0;
【凯撒密码java代码实现 凯撒密码算法代码】 }
char *KaisaDecode(char *str)//解密
{
char *d0;
d0=str;
for(;*str!='\0';str)
{
if(isupper(*str))
*str=(*str-'A'-K 26)& 'A';
else if(islower(*str))
*str=(*str-'a'-K 26)& 'a';
else
continue;
}
return d0;
}
int main(void)
{
char s[maxlen];
gets(s);
puts(KaisaEncode(s));
puts(KaisaDecode(s));
return 0;
}
3.将凯撒密码X的加密、解密过程用C语言编程实现
(2)kaiser加密算法 具体程序:#include #includechar encrypt(char ch,int n)/*加密函数,把字符向右循环移位n*/ { while(ch='A'ch='a'ch='z') { return ('a' (ch-'a' n)&); } return ch; } void menu()/*菜单,1.加密,2.解密 , 3.暴力破解 , 密码只能是数字*/ { clrscr(); printf("\n========================================================="); printf("\n1.Encrypt the file"); printf("\n2.Decrypt the file"); printf("\n3.Force decrypt file"); printf("\n4.Quit\n"); printf("=========================================================\n"); printf("Please select a item:"); return; } main() { int i,n; char ch0,ch1; FILE *in,*out; char infile[20],outfile[20]; textbackground(BLACK); textcolor(LIGHTGREEN); clrscr(); sleep(3);/*等待3秒*/ menu(); ch0=getch(); while(ch0!='4') { if(ch0=='1') { clrscr(); printf("\nPlease input the infile:"); scanf("%s",infile);/*输入需要加密的文件名*/ if((in=fopen(infile,"r"))==NULL) { printf("Can not open the infile!\n"); printf("Press any key to exit!\n"); getch(); exit(0); } printf("Please input the key:"); scanf("%d",n);/*输入加密密码*/ printf("Please input the outfile:"); scanf("%s",outfile);/*输入加密后文件的文件名*/ if((out=fopen(outfile,"w"))==NULL) { printf("Can not open the outfile!\n"); printf("Press any key to exit!\n"); fclose(in); getch(); exit(0); } while(!feof(in))/*加密*/ { fputc(encrypt(fgetc(in),n),out); } printf("\nEncrypt is over!\n"); fclose(in); fclose(out); sleep(1); } if(ch0=='2') { clrscr(); printf("\nPlease input the infile:"); scanf("%s",infile);/*输入需要解密的文件名*/ if((in=fopen(infile,"r"))==NULL) { printf("Can not open the infile!\n"); printf("Press any key to exit!\n"); getch(); exit(0); } printf("Please input the key:"); scanf("%d",n);/*输入解密密码(可以为加密时候的密码)*/ n=26-n; printf("Please input the outfile:"); scanf("%s",outfile);/*输入解密后文件的文件名*/ if((out=fopen(outfile,"w"))==NULL) { printf("Can not open the outfile!\n"); printf("Press any key to exit!\n"); fclose(in); getch(); exit(0); } while(!feof(in)) { fputc(encrypt(fgetc(in),n),out); } printf("\nDecrypt is over!\n"); fclose(in); fclose(out); sleep(1); } if(ch0=='3') { clrscr(); printf("\nPlease input the infile:"); scanf("%s",infile);/*输入需要解密的文件名*/ if((in=fopen(infile,"r"))==NULL) { printf("Can not open the infile!\n"); printf("Press any key to exit!\n"); getch(); exit(0); } printf("Please input the outfile:"); scanf("%s",outfile);/*输入解密后文件的文件名*/ if((out=fopen(outfile,"w"))==NULL) { printf("Can not open the outfile!\n"); printf("Press any key to exit!\n"); fclose(in); getch(); exit(0); } for(i=1;i=25;i)/*暴力破解过程,在察看信息正确后 , 可以按'Q'或者'q'退出*/ { rewind(in); rewind(out); clrscr(); printf("==========================================================\n"); printf("The outfile is:\n"); printf("==========================================================\n"); while(!feof(in)) { ch1=encrypt(fgetc(in),26-i); putch(ch1); fputc(ch1,out); } printf("\n========================================================\n"); printf("The current key is: %d \n",i);/*显示当前破解所用密码*/ printf("Press 'Q' to quit and other key to continue 。
\n"); printf("==========================================================\n"); ch1=getch(); if(ch1=='q'||ch1=='Q')/*按'Q'或者'q'时退出*/ { clrscr(); printf("\nGood Bye!\n"); fclose(in); fclose(out); sleep(3); exit(0); } } printf("\nForce decrypt is over!\n"); fclose(in); fclose(out); sleep(1); } menu(); ch0=getch(); } clrscr(); printf("\nGood Bye!\n"); sleep(3); } 。
4.怎样编写程序:实现恺撒密码加密单词"julus"
用下面程序:新建个txt , 放进去任意单词,设置#define N 5中的值,实现字母移位,达到加密目的 。
本程序提供解密功能/************************************************************************//* 版权所有:信息工程学院 王明 使用时请注明出处?。?*//* 算法:凯撒密码体制 e799bee5baa6e4b893e5b19e31333264643062 *//************************************************************************/#include#define N 5void jiami(char namea[256]) { FILE *fp_jiami,*fp_file2; char c; fp_jiami=fopen(namea,"rb"); fp_file2=fopen("file2.txt","wb"); while(EOF!=(fscanf(fp_jiami,"%c",c))) { if((c='A'c='a'c='A'c='a'c='a'c='A'c='a'c='A'c='a'c='A'c='Z')c=c 32;} fprintf(fp_file3,"%c",c); } fclose(fp_file3); fclose(fp_jiemi); }int main(){ char name[256]; int n; printf("输入你要操作的TXT文本:"); gets(name); printf("\n请选择需要进行的操作:\n"); printf(" 1:加密 2:解密 \n"); printf("输入你的选择:"); scanf("%d",n); switch(n) { case 1:{jiami(name);printf("\t加密成功?。n\n"); break;} case 2:{jiemi(name);printf("\t解密成功?。n\n"); break;} default:{printf("输入操作不存在!");} } return 0;} 。
5.谁有PYTHON编写的凯撒密码的加密和解密代码
给你写了一个.
def convert(c, key, start = 'a', n = 26):
a = ord(start)
offset = ((ord(c) - akey)%n)
return chr(aoffset)
def caesarEncode(s, key):
o = ""
for c in s:
if c.islower():
o = convert(c, key, 'a')
elif c.isupper():
o = convert(c, key, 'A')
else:
o = c
return o
def caesarDecode(s, key):
return caesarEncode(s, -key)
if __name__ == '__main__':
key = 3
s = 'Hello world!'
e = caesarEncode(s, key)
d = caesarDecode(e, key)
print e
print d
运行结果:
Khoor zruog!
Hello world!
凯撒密码java编程实现图形界面化代码class Caesar:def __init__(self):a = list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ,.-!\'"')b = a[3:]a[:3]self.emap = dict(zip(a,b))self.dmap = dict(zip(b,a))def encode(self, text):tmp = [ (x in self.emap and self.emap[x] or x) for x in text ]return ''.join(tmp)def decode(self, text):tmp = [ (x in self.dmap and self.dmap[x] or x) for x in text ]return ''.join(tmp)
凯撒密码java代码实现的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于凯撒密码算法代码、凯撒密码java代码实现的信息别忘了在本站进行查找喔 。
推荐阅读
- 如何发挥新媒体作用构建国家形象,如何发展新媒体
- xp系统怎么升级显卡,xp如何升级成win10
- 如何考取电商证书,如何考取电商证书书籍
- php页面添加数据失败 php页面添加数据到数据库
- 主板cpu亮什么灯,主板上cpu的灯亮了是怎么回事
- 删除失败的sqlserver,sqlserver删除数据库失败
- 朋鹏直播录屏怎么录,朋鹏直播录屏怎么录视频
- linux关联两个命令 linux文件关联
- 电脑怎么实时显示显卡信息,电脑怎么显示显卡和cpu