利用ASCII对文件内容或输入内容加密

我要开发同款
爱谷谷2023年10月29日
61阅读
开发技术java

作品详情

小明和小花为了在通信中传递简单的英文消息,需要设计一个对英文字符进行加解密的系统。该系统对英文字符进行加密,假设明文为plaintext,采用6-12位的字符作为密钥key,加密后密文为ciphertext;该加密系统至少满足以下要求:(1)实现加密算法:若明文为可见字符(ASCII表中,可见字符的范围是32-126),加密为循环使用密钥序列key的字面值对明文序列Pi的ASCII值相加得到密文序列Ci,1、若相加结果Ci大于126 ,则将其数值对126取模再加31,使得最终结果仍然是可见字符;2、若明文为不可见字符,不作任何处理,Ci=Pi;所有的Ci按顺序输出便得到密文ciphertext,如密文字符为‘a’,密钥字符为‘1’,加密过程97+1=98,转换为字符为’b’。(2)实现解密算法:对每一个可见字符密文Ci,将其ASCII值减去对应密钥Ki的字面值得到明文Pi,1、若小于32,则将其数值减去31再加126,使得最终得到的Pi仍然是可见字符; 2、若密文为不可见字符,不作任何处理,Pi=Ci;所有的Pi按顺序输出便得到明文plaintext,加密与解密为互逆算法。(3)设计一个加解密的类Cipher,类中至少有上述三个属性(plaintext,ciphertext,key),并设计构造方法对其初始化,其中key初始化“123456”,plaintext为自己的学号,ciphertext为任意字符串。(4)设计setKey和getKey方法,注意setKey方法需要用户输入密钥,并检测密钥的长度是否符合要求,不符合需要重新输入直到符合;同样需要实现方法setPlaintext、getPlaintext、setCiphertext和getCiphertext。(5)设计加密方法encryption和解密方法decryption,分别通过key对输入的明文plaintext加密和对输入的密文ciphertext解密,并显示加解密前后的结果。(6)进步一般实现加密方法encryption1和解密方法decryption1,encryption1方法对已有文件进行加密,密文保存到文档;decryption1方法对已有的文件进行解密,明文保存到文档。 (7)写一个测试类,在主方法中通过循环语句实现菜单,测试上述所有功能。
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论