教材代码完成情况测试P186(课上测试)

博主QQ:854066859

 

正文

一、任务详情

  • 0 在Ubuntu中用自己的有位学号建一个文件,教材p186 Example8_8
  • 1.修改p186 Example8_8中代码,密钥password不用手动输入,使用Random产生随机数做密钥。
    1. 提交添加的代码和运行结果截图

二、源代码

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);    //返回明文
    }
}

三、运行截图

posted @   20175215丁文韬  阅读(289)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示