English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Простые алгоритмы шифрования и дешифрования 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 (во время отправки письма замените # на @), чтобы сообщить о нарушении авторских прав, и предоставьте соответствующие доказательства. Как только будет установлено, что содержимое нарушает авторские права, сайт незамедлительно удаляет подозрительное содержимое.