栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 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号