Java小程序之信息加密(字符串)
in Java入门小程序 with 0 comment

Java小程序之信息加密(字符串)

in Java入门小程序 with 0 comment

程序设计思想

由于java采用了Unicode编码方式,所以其包含了大量的非英文的字符。而当数据被存进计算机的时候是以Ascll码的方式。Ascll中每一个字符对应着一个数字,故我们可以借助这种性质进行字符串加密。
具体思路如下:
读取输入的信息;
将其拆分成单个字符;
对每一个字符进行加密(使其Ascll向后加密码的长度);
把加密后的单个字符重新合成加密后的信息;
请输入密码;
一样的方法对其进行解密,不过这次是让其减密码的长度。

程序流程图

加密.jpg

程序源代码

import java.util.Scanner;
/*程序流程如下:
 * 用户输入一串信息
 * 调取加密方法进行加密
 * 存储到private中
 * 利用get来取值
 * 调用解密方法来解密
 * 输出
 * 
 * */
public class Pwdedmessageer {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Scanner in=new Scanner(System.in);
        Encryption e=new Encryption();
        System.out.println("请输入一个消息:");
        String input=in.nextLine();
        e.setValue(input);
        System.out.println("你设置的消息为:");
        System.out.println(e.getmesssage());
        int p;
        System.out.println("输入加密的密码:");
        p=in.nextInt();
        System.out.println("加密后的消息为:");
        System.out.println(e.Encry(p));//进行加密
        System.out.println("输入密码:");
        int pwd=in.nextInt();
        System.out.println("解密后的信息为:");
        System.out.println(e.unEncry(e.getmesssage(),pwd));
    }

}

class Encryption{
    
    private String s;
    
    public String  getmesssage() {
        
        return s;
    }
    public String Encry(int p) {
        String ed = "";
        for(int i=0;i<s.length();i++) {
            ed=ed+(char)((int)s.charAt(i)+p);
        }
        this.s=ed;
        return ed;
    }
    public void setValue(String s) {
        this.s=s;
    }
    public String unEncry(String S,int p) {
        String ed = "";
        for(int i=0;i<S.length();i++) {
            ed=ed+(char)((int)s.charAt(i)-p);
        }
        return ed;    
    }
}

程序运行截图

加密2.jpg

其实这个程序一点都不好玩儿~~

Responses