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