教材代码完成情况测试P186(课上测试)
2024-09-25 20:15:51
一、任务详情
- 0 在Ubuntu中用自己的有位学号建一个文件,教材p186 Example8_8
- 1.修改p186 Example8_8中代码,密钥password不用手动输入,使用Random产生随机数做密钥。
- 提交添加的代码和运行结果截图
二、源代码
1.Example8_8类
import java.util.Random;
public class Example8_8 {
public static void main(String args[]) {
Random ran = new Random();
String sourceString = "今晚十点进攻";
EncryptAndDecrypt person = new EncryptAndDecrypt();
int i = ran.nextInt(100);
System.out.println("随机密码加密:"+sourceString);
String password = String.valueOf(i);
String secret = person.encrypt(sourceString,password);
System.out.println("密文:"+secret);
System.out.println("自动解密");
password = String.valueOf(i);
String source = person.decrypt(secret,password);
System.out.println("明文:"+source);
}
}
2.EncryptAndDecrypt类
public class EncryptAndDecrypt {
String encrypt(String sourceString,String password) { //加密算法
char [] p= password.toCharArray();
int n = p.length;
char [] c = sourceString.toCharArray();
int m = c.length;
for(int k=0;k<m;k++){
int mima=c[k]+p[k%n]; //加密
c[k]=(char)mima;
}
return new String(c); //返回密文
}
String decrypt(String sourceString,String password) { //解密算法
char [] p= password.toCharArray();
int n = p.length;
char [] c = sourceString.toCharArray();
int m = c.length;
for(int k=0;k<m;k++){
int mima=c[k]-p[k%n]; //解密
c[k]=(char)mima;
}
return new String(c); //返回明文
}
}
三、运行截图
最新文章
- xamarin UWP自定义圆角按钮
- ajxa
- mac 下 chrome 语言环境 设置
- Codeforces Round #141 (Div. 2)
- hdu 3449
- HDU4515+计算日期
- SQL中的delete和TRUNCATE的用法
- 新秀学习51供应链管理的----模拟笔记本PC和51串行通讯1
- python安装MySQLdb:在windows下或linux下(以及eclipse中pydev使用msqldb的配置方法)
- LightOJ - 1245 Harmonic Number (II) 求同值区间的和
- javascript:void(0)的问题
- [Unity Shader] 逐顶点光照和逐片元漫反射光照
- 20162328蔡文琛 week05 大二
- \avformat.h(40) : fatal error C1083: 无法打开包括文件:“libavcodec/avcodec.h”: No such file or directory
- python RabbitMQ广播
- 解决hadoop 集群启动常见错误办法
- 自定制serilazry字段
- mac下完全卸载mysql的方法
- 记一次Jenkins 打包异常 ERROR: Exception when publishing, exception message [Failure]
- moiezen