【加解密】简单字母表替换加解密
代码:
package com.hy.masking; import java.util.HashMap; import java.util.Map; public class SimpleReplacer { private static final String fromStr="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; private static final String toStr ="LMNOPQRSTUVWXYZABCDEFGHIJKtuvwxyzabcdefghijklmnopqrs6789012345"; private static Map<Character,Character> enMap; private static Map<Character,Character> deMap; static{ enMap =new HashMap<>(); deMap =new HashMap<>(); for(int i=0;i<fromStr.length();i++){ char key=fromStr.charAt(i); char value=toStr.charAt(i); enMap.put(key,value); deMap.put(value,key); } } public static String encrypt(String str){ char[] arr=str.toCharArray(); for(int i=0;i<arr.length;i++){ char key=arr[i]; if(enMap.containsKey(key)){ arr[i]=enMap.get(key); } } return String.valueOf(arr); } public static String decrypt(String str){ char[] arr=str.toCharArray(); for(int i=0;i<arr.length;i++){ char key=arr[i]; if(deMap.containsKey(key)){ arr[i]=deMap.get(key); } } return String.valueOf(arr); } public static void main(String[] args){ String[] arr={"abc012","er2EDF","WQYNS01823","csadsad321321","cczx2","321321"}; for(String original:arr){ String enStr=encrypt(original); String deStr=decrypt(enStr); String msg=String.format("原文=%s 密文=%s 译文=%s",original,enStr,deStr); System.out.println(msg); } } }
输出:
原文=abc012 密文=LMN678 译文=abc012 原文=er2EDF 密文=PC8xwy 译文=er2EDF 原文=WQYNS01823 密文=pjrgl67489 译文=WQYNS01823 原文=csadsad321321 密文=NDLODLO987987 译文=csadsad321321 原文=cczx2 密文=NNKI8 译文=cczx2 原文=321321 密文=987987 译文=321321
END
分类:
Java.加密解密
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2020-03-17 实验:模糊查询会使普通索引失效吗?
2020-03-17 位图索引对单表查询效率的影响(使用解释计划评估)
2020-03-17 查看加在一张表上的索引
2020-03-17 用解释计划评估创建索引后对单表查询效率的影响
2019-03-17 【Canvas与游戏】空战游戏1.18