English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Esempio di codice Java per l'implementazione di un algoritmo di crittografia e decrittografia semplici utilizzando l'operazione XOR

Semplice algoritmo di crittografia e decrittografia in Java, utilizzando l'operazione di XOR

Esempio 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);
	}
}

Esempio 2

public static String setEncrypt(String str){
	String sn="ziyu";
	//Chiave
	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++){
		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";
	//Chiave
	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;
}
}

Conclusione

Questo è tutto il contenuto dell'esempio di codice di crittografia e decrittografia semplice implementato con l'operazione XOR in Java menzionato in questo articolo. Spero che sia utile a tutti. Chi è interessato può continuare a leggere altri argomenti correlati sul nostro sito. Siamo aperti a suggerimenti e commenti. Grazie per il supporto dei nostri amici!

Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, di proprietà del rispettivo autore. Il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, il sito web non detiene i diritti di proprietà, non è stato modificato manualmente e non assume alcuna responsabilità legale. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una email a notice#oldtoolbag.com (al momento dell'invio dell'email, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata la veridicità, il sito eliminerà immediatamente i contenuti sospetti di violazione del copyright.

Ti potrebbe interessare