Java教程

Java通过异或运算实现字符串解密

本文主要是介绍Java通过异或运算实现字符串解密,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
public class MyStringUtils {

//    public static String encryptString(String target,Integer factor){
//        byte[] bytes = target.getBytes();
//        for (int i = 0; i < bytes.length; i++) {
//            bytes[i] ^= factor;
//        }
//
//        return new String(bytes);
//    }
//
//    public static String decodeString(String target, Integer factor){
//        byte[] bytes = target.getBytes();
//        for (int i = 0; i < bytes.length; i++) {
//            bytes[i] ^= factor;
//        }
//
//        return new String(bytes);
//    }

    public static String encryptString(String target,Integer factor){
        char[] chars = target.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            chars[i] ^= factor;
        }

        return new String(chars);
    }

    public static String decodeString(String target, Integer factor){
        char[] chars = target.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            chars[i] ^= factor;
        }

        return new String(chars);
    }

    public static void main(String[] args) {
        String target = "你好啊";
        int factor = 31;
        String encryptString = encryptString(target, factor);
        System.out.println("加密后的字符串为===="+encryptString);
        System.out.println("解密后的字符串为===="+decodeString(encryptString, factor));
    }
}

输出结果

加密后的字符串为====使奢啕
解密后的字符串为====你好啊

思考:

为什么我把字节数组那段给注释掉了

如果使用字节数组会出现什么问题

这篇关于Java通过异或运算实现字符串解密的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!