字符串XOR加密测试
【代码】
package com.hy.lab.code; /** * 字符串XOR加密测试 */ public class XorProcess { // 得到一定长度的随机字符串 private static String getRndString(int size){ char[] arr=new char[size]; for(int i=0;i<size;i++){ arr[i]=(char)rnd(32,126); } return String.valueOf(arr); } // 得到某区间内随机数 private static int rnd(int min,int max) { return (int)(min+Math.random()*(max-min+1)); } private static void process(String original){ int n=original.length(); String key=getRndString(n);// 密钥字串 byte[] arr1=original.getBytes(); byte[] arr2=key.getBytes(); int length=arr1.length; byte[] arr3=new byte[length]; for(int i=0;i<length;i++){ arr3[i]=(byte)(arr1[i] ^ arr2[i]); } String enStr=new String(arr3); byte[] arr4=new byte[length]; for(int i=0;i<length;i++){ arr4[i]=(byte)(arr3[i] ^ arr2[i]); } String deStr=new String(arr4); String msg=String.format("原文=%s 密文=%s 译文=%s",original,enStr,deStr); System.out.println(msg); } public static void main(String[] args){ String[] arr=new String[]{"abc","1234567","dsadsadsads2321"}; for(int i=0;i<arr.length;i++){ process(arr[i]); } } }
【输出】
原文=abc 密文=<EZ 译文=abc
原文=1234567 密文=YphArPa 译文=1234567
原文=dsadsadsads2321 密文=:N
[x@ 译文=dsadsadsads2321
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-19 求用户登录流水表中的用户连续登录天数
2019-03-19 做能成功的事