欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java使用异或运算实现简单的加密解密算法实例代码

程序员文章站 2024-02-13 20:24:46
java简单的加密解密算法,使用异或运算 实例1: package cn.std.util; import java.nio.charset.charset;...

java简单的加密解密算法,使用异或运算

实例1:

package cn.std.util;
import java.nio.charset.charset;
public class deencode {
	private static final string key0 = "fecoi()*&<mncxzpkl";
	private static final charset charset = charset.forname("utf-8");
	private static byte[] keybytes = key0.getbytes(charset);
	public static string encode(string enc){
		byte[] b = enc.getbytes(charset);
		for (int i=0,size=b.length;i<size;i++){
			for (byte keybytes0:keybytes){
				b[i] = (byte) (b[i]^keybytes0);
			}
		}
		return new string(b);
	}
	public static string decode(string dec){
		byte[] e = dec.getbytes(charset);
		byte[] dee = e;
		for (int i=0,size=e.length;i<size;i++){
			for (byte keybytes0:keybytes){
				e[i] = (byte) (dee[i]^keybytes0);
			}
		}
		return new string(e);
	}
	public static void main(string[] args) {
		string s="you are right";
		string enc = encode(s);
		string dec = decode(enc);
		system.out.println(enc);
		system.out.println(dec);
	}
}

实例2

public static string setencrypt(string str){
	string sn="ziyu";
	//密钥
	int[] snnum=new int[str.length()];
	string result="";
	string temp="";
	for (int i=0,j=0;i<str.length();i++,j++){
		if(j==sn.length())
		        j=0;
		snnum[i]=str.charat(i)^sn.charat(j);
	}
	for (int k=0;k<str.length();k++){
		if(snnum[k]<10){
			temp="00"+snnum[k];
		} else{
			if(snnum[k]<100){
				temp="0"+snnum[k];
			}
		}
		result+=temp;
	}
	return result;
}
public static string getencrypt(string str){
	string sn="ziyu";
	//密钥
	char[] snnum=new char[str.length()/3];
	string result="";
	for (int i=0,j=0;i<str.length()/3;i++,j++){
		if(j==sn.length())
		        j=0;
		int n=integer.parseint(str.substring(i*3,i*3+3));
		snnum[i]=(char)((char)n^sn.charat(j));
	}
	for (int k=0;k<str.length()/3;k++){
		result+=snnum[k];
	}
	return result;
}
}

总结

以上就是本文关于java使用异或运算实现简单的加密解密算法实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!