多表代换密码的程序实现例题1-2

该程序使用矩阵运算实现了一种加密和解密方法。用户输入明文、密钥和矩阵,程序将明文转化为矩阵并进行加密,加密过程涉及矩阵乘法。解密过程则使用逆矩阵进行。加密和解密的核心是将字符与数字对应,并通过矩阵运算变换。

请输入你要加密的明文:
YOURPINNOISFOURONETWOSIX
请输入密钥
请输入A矩阵的维数:
3
开始创建A矩阵:
11 2 19
5 23 25
20 7 17
开始创建B矩阵:
0
0
0
获得的密文为:
WGIFGJTMRLHHXTHWBXZPSBRB

package rr;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Scanner;

public class mima {

    private static Map<Integer, String> maps = new HashMap<Integer,String>();

    public static int getKey(Map map,String value){

        int key = 0;

        Iterator it  = map.entrySet().iterator();

        while(it.hasNext()){

            Map.Entry entry = (Entry) it.next();

            Object obj = entry.getValue();

            if(obj!=null&&obj.equals(value)){

                key=(int)entry.getKey();

            }

        }

        return key;

    }

    /**

     * 对字符和数字进行一一映射

     */

    public static void fuzhi(){

        String str
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超翔之逸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值