zoukankan      html  css  js  c++  java
  • 教材代码完成情况测试P186(课上测试)

    一、任务详情

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

    三、运行截图

  • 相关阅读:
    二叉树的存储方式以及递归和非递归的三种遍历方式
    java基础04 匿名内部类
    jvm007 jvm知识点总览
    jvm学习006 jvm内存结构分配
    java基础03 位运算符
    java基础02 数据类型转
    jvm005 从jvm的角度谈谈线程的实现
    Arcgis投影变换后图像变深的问题
    win 7 64位如何安装erdas 9.2
    Win7 64bit 成功安装ArcView3.X
  • 原文地址:https://www.cnblogs.com/jxxydwt1999/p/10710437.html
Copyright © 2011-2022 走看看