亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

凱撒加密法 給大家分享一下 有大神路過的話順便給指點下

標簽:
Java

主入口
Test.java

package Kaisa;

/**
 * 凯撒加密
 */

import java.util.Scanner;

/**
 * Created by WTFX on 2016/12/17.
 */
public class Test {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        do {
            System.out.println("1.加密\n2.解密\n输入其他任意数退出");
            int op = sc.nextInt();
            if (op == 1) {
                System.out.println("请输入你需要加密的明文:");
                String key = sc.next();
                Encrypt E = new Encrypt(key);
                System.out.println(E.toString());
            } else if (op == 2) {
                System.out.println("请输入你要解密的密文:");
                String value=sc.next();
                Decode D=new Decode(value);
                System.out.println(D.toString());
            } else {
                break;
            }
        }while (true);
    }
}

加密
Encrypt.java

package Kaisa;

import java.util.HashMap;
import java.util.Map;

import java.util.Map;

/**
 * Created by WTFX on 2016/12/17.
 * 加密
 */
public class Encrypt {
    private String key;
    private String value="";
    Map<String,String> map=new HashMap();

    public Encrypt() {}

    @Override
    public String toString() {
        String str_key="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        String str_value="DEFGHIJKLMNOPQRSTUVWXYZABCdefghijklmnopqrstuvwxyzabc";
        for(int i=0;i<str_key.length();i++){
            map.put(String.valueOf(str_key.charAt(i)),String.valueOf(str_value.charAt(i)));
        }
        for(int i=0;i<this.key.length();i++){
            value+=map.get(String.valueOf(this.key.charAt(i)));
        }

        return "加密成功!\n密文:"+value;
    }

    public Encrypt(String key) {
        this.key = key;
    }
}

解密
Decode.java

package Kaisa;

import java.util.*;

/**
 * Created by WTFX on 2016/12/17.
 * 解密
 */
public class Decode {
    private String key="";
    private String value;
    Map<String,String> map=new HashMap();

    public Decode(String value) {
        this.value = value;
    }

    @Override
    public String toString() {
        String str_key="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        String str_value="DEFGHIJKLMNOPQRSTUVWXYZABCdefghijklmnopqrstuvwxyzabc";
        for(int i=0;i<str_key.length();i++){
            map.put(String.valueOf(str_value.charAt(i)),String.valueOf(str_key.charAt(i)));
        }
        for(int i=0;i<value.length();i++){
            key+=map.get(String.valueOf(value.charAt(i)));
        }

        return "解密成功!\n明文:"+key;
    }
}
  • 本来想加密解密想用一个集合的 无奈功力不到位。
    有几点疑惑
    1.能不能通过一个集合实现
    2.能否通过转换byte 的方式 在ASCII上完成
    3.代码可以怎样精简
    有大神出没的话给个指点呗(^-^)V
點擊查看更多內容
5人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
2
獲贊與收藏
43

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消