栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【无标题】java实验 信息关键内容加密

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【无标题】java实验 信息关键内容加密

二、实验内容:
1、有一段信息,“本次见面时间为2021年5月7日,中午12点30分,地点位于卫星路7186号,车牌号是吉AB27D,如果临时有事,请及时与我联系,电话是18812342234” `

2、里面包括一些特定的日期、时间等,请对里面的包含数字的信息进行提取,并加密和解密
3、所用的技术包括正则表达式和字符加密解密
先创建一个工具类Utlis 为了方便调用 里面所有方法都为static
里面有方法
1、public static String[] getString(String s) 用正则表达式来提取数字,并转为数组返回
2、 public static String Encoding(String s,int key) 对返回的数字进行参数传递,并加上自定义的加密数字,最后返回对数字加密后的字符串
3、 public static String Decoding(String s,int key) 用来 对加密的字符串进行解密处理,
传入加密的字符串和当初的加密规则 返回解密后的字符串
4、public static String getAfter(String s) 通过正则表达式对原先内容进行加密显示(数据部分转为

5、 public static String reduction(String s1,String[] s2) 将解密后的数据和加密内容进行转化 ,转为原始内容*

最后在main 函数中进行调用,输出

Utils:

import java.nio.charset.StandardCharsets;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Utils {

    public static String[]  getString(String s)
    {

        String regEx="[^0-9]";
        Pattern p = Pattern.compile(regEx);
        Matcher m = p.matcher(s);

        String s2 = m.replaceAll(" ").trim();
        String[] strArr = s2.split(" ");
        return strArr;
    }
    public static String Encoding(String s,int key)
    {
        byte[] bytes = s.getBytes(StandardCharsets.UTF_8);
        for(int i=0;i
            bytes[i]+=key;
        }
        return new String(bytes);
    }
    public static String Decoding(String s,int key){
        byte[] bytes = s.getBytes();
        for(int i=0;i
            bytes[i]-=key;
        }
        return new String(bytes);
    }
    public static String getAfter(String s)
    {
        String s1 = s.replaceAll("\d+", "*");
     return ("加密后的文本为"+s1);
    }
    public static String reduction(String s1,String[] s2)
    {int count=0;
        StringBuilder stringb=new StringBuilder(s1);

        for (int i=0;i
            if(s1.charAt(i)=='*')
            {
                stringb.replace(i,1,s2[count]);
                count++;
            }
        }
        return stringb.toString();

    }


}

Main :

public class Main {
    public static int KEY=1;
    public static void main(String[] args) {
        String s="本次见面时间为2021年5月7日,中午12点30分,地点位于卫星路7186号,车牌号是吉AB27D,如果临时有事,请及时与我联系,电话是18812342234";
        System.out.println("原文本内容 :"+s);
        String[] strArr = Utils.getString(s);
        String sbefore="";
        for(String s1:strArr){
                sbefore+=s1;
        }
        System.out.println("提取出的数字信息 :"+sbefore);
        String s2 = Utils.Encoding(sbefore, KEY);
        System.out.println("加密后的数字信息 :"+s2);
        System.out.println("加密后整体为  "+Utils.getAfter(s)+s2);
        String s3 = Utils.Decoding(s2, KEY);
        System.out.println("解密后的数字信息 :"+s3);

        String end = Utils.reduction(s, strArr);
        System.out.println("解密后整体为 :" + end);

    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/848251.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号