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

Пример кода для реализации алгоритма шифрования и дешифрования с использованием операции XOR на Java

Простые алгоритмы шифрования и дешифрования 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++) {
		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;
}
}

Обобщение

Вот весь контент статьи о реализации простого алгоритма шифрования и дешифрования с использованием операции XOR в Java. Надеюсь, это поможет вам. Те, кто интересуется, могут продолжить читать другие соответствующие темы на этом сайте. Если есть недостатки, пожалуйста, оставьте комментарий. Спасибо за поддержку сайта!

Заявление: содержимое этой статьи взято из Интернета, авторские права принадлежат соответствующему автору. Контент предоставлен пользователями Интернета, самостоятельно загружен, сайт не имеет права собственности, не был отредактирован вручную и не несет ответственности за соответствующие юридические вопросы. Если вы обнаружите подозрительное содержимое, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма замените # на @), чтобы сообщить о нарушении авторских прав, и предоставьте соответствующие доказательства. Как только будет установлено, что содержимое нарушает авторские права, сайт незамедлительно удаляет подозрительное содержимое.

Вам может понравиться