java实现仿射密码加密解密
本文实例为大家分享了java实现仿射密码加密解密的具体代码,供大家参考,具体内容如下
加密:将明文转化为对应的数字,如‘a'->0,‘b'->1,…,'1'->26,'2'->27,…然后将数字进行仿射运算,求取出来的数字再转化为字符。即密文=(K1*明文+K2)mod36
解密:密文转化为对应数字,然后进行仿射的逆运算,得到对应数字,然后将其转化为字符明文。解密K3是K1的乘法逆元
importjava.util.Scanner; publicclassAffine{ publicstaticvoidmain(String[]args){ char[]form={'A','B','C','D','E','F','G','H','I','J','K','L','M','N', 'O','P','Q','R','S','T','U','V','W','X','Y','Z','0' ,'1','2','3','4','5','6','7','8','9'}; Scannersc=newScanner(System.in); System.out.println("请输入待加密的明文:"); StringMingWen=sc.nextLine(); MingWen=MingWen.toUpperCase();//将输入的明文全部大写 finalintK1=103; finalintK2=103; finalintK3=31; int[]cipherNum=newint[MingWen.length()];//用来存储数字化的密文 encryption(MingWen,form,K1,K2,cipherNum); decryption(form,MingWen,K2,K3,cipherNum); } publicstaticvoidencryption(StringMingWen,char[]form,intK1,intK2,int[]cipherNum){ //第一步:将明文存入数组 char[]pla=newchar[MingWen.length()]; for(inti=0;i以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。