Java使用异或运算实现简单的加密解密算法实例代码
程序员文章站
2023-12-16 08:24:40
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使用异或运算实现简单的加密解密算法实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!