字符串移位加密

开发工具与关键技术:MyEclipse,java
作者:吴耀存
撰写时间:2019-4-13
对字符串移位加密步骤总结:1.需要加密的一段文字。2. 将文字转换成字节数组3.创建集合来接受字节数组4.对集合里的数据移位5.再把移完位的集合数据赋值给字节数组6.然后字节数组再按照原来的编码格式进行编码,编出来的数据已经和会发现和原来的不一样。

public static void main(String args[]){
		String testing="莫忘记,人类情感上最大的需要是感恩";
        //转成GBK二进制数据需要抛一下异常
		 try {
			 //把上面的一段话转为字节数组
			 byte[] bytes2=testing.getBytes("GBK");
			 //创建一个ArrayList类型的集合,用来存储bytes2字节数组
			    List<Integer> bytes3=new ArrayList<>();
			    //遍历赋值给bytes3集合
			    for (int i=0;i<bytes2.length;i++) {
			    	int b=bytes2[i];
			    	bytes3.add(b);
				}
			    //移位加密
		        Collections.rotate(bytes3, 1);
		        //遍历赋值给bytes2数组
		        for (int i=0;i<bytes3.size();i++) {
		        	int c=Integer.valueOf(bytes3.get(i));//
		        	byte a=(byte)c;//转换类型
			    	bytes2[i]=Byte.valueOf(a);
				}
		        //对bytes2的字节数组转为字符串,以GBK的编码格式
		        String str4=new String(bytes2,Charset.forName("GBK"));
		        //此时打印出来的值和原本已经大不相同
		        System.out.println(str4);
		} catch (Exception e) {
			System.out.println(e);
		}
}

移位前后结果图:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值