仿射加密代码java 仿射加密代码实现

问一下这是什么代码 . .--. --- .----. ..- / -..- -... --- .摩斯电码,就是早期电报之类用的发送方式,你这个怕是输入有错,翻译出来是
EPO'U XBOU UP MFU IFS LOPX IPX NVDI ZPV EJE GPS IFS, CVU XBOU UP MFU IFS LOPX ZPV DBSF BCPVU IFS.
至少我是看不懂是什么语言
下面密文是用模26下的仿射密码加密的gzyyf,明文以he开头,试解密消息?hellk.仿射密码公式是:密文=明文剩于密钥1加密钥2然后和与26取余,即e(x)=(ax+b)mod26. 从提示he开头,代入即g=(ha+b)mon26,z=(ea+b)mod26,可求得a=11. b=7.,从而得出其它结果 。注:公式中,a表示密钥1,且与26互质,即取值是1.3.5.7...23.25共13个,b是密钥2,取值范围是0-25.0-25对应英文字母a-z. 所以h=7,e=4 , 其它类推 。还有,结果不应该是hello? 算出来是hellk.
(1)用C/C++语言实现仿射变换加/解密算法(2)用C/C++语言实现统计26个英文字母出现的频率的程序第二题:只统计小写字母,如果是大写或者混合的话原理也是一样
#includestdio.h
#includestring.h
int main()
{
char str[99];
int i,j,a[26]={0};
gets(str);
for(i=0;istrlen(str);i++)
{
for(j=0;j26;j++)
if(str[i]==97+j)a[j]++;
}
for(j=0;j26;j++)
if(a[j]!=0)printf("%c %d\n",97+j,a[j]);
printf("\n");
return 0;
}
第三题
解密:m=Da,b(c)=a-1(c-d)(mod26) //d是什么你没给出,只做了加密部分
#include stdio.h
#include string.h
#include stdlib.h
#include time.h
int main()
{
unsigned a,b,i;
char str[99]="asdfABC";
srand(time(0));
b=rand()%26;
loop:
a=rand()%26;
if(a%2==0||a==13)goto loop;
printf("密匙为:%d,%d\n",a,b);
for(i=0;istrlen(str);i++)
{
if(str[i]='a'str[i]='z')
str[i]=(str[i]*a+b)%26+97;
if(str[i]='A'str[i]='Z')
str[i]=(str[i]*a+b)%26+65;
printf("%c",str[i]);
}
【仿射加密代码java 仿射加密代码实现】 printf("\n");
return 0;
}
仿射加密代码java的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于仿射加密代码实现、仿射加密代码java的信息别忘了在本站进行查找喔 。

    推荐阅读