package main; import java.security.NoSuchAlgorithmException; import javax.crypto.Cipher; import javax.crypto.NoSuchPaddingException; import javax.crypto.spec.SecretKeySpec; public class Main { public static void main(String args[]) { try { byte[] teskJawny = "Teskt jawny".getBytes(); byte[] klucz = "klucz".getBytes(); System.out.println(XORCoderToString(XORcoder(teskJawny, klucz), klucz)); byte[] keyBytes = null; SecretKeySpec key = new SecretKeySpec(keyBytes,"DES"); Cipher szyfr = Cipher.getInstance("DES/ECB/SKCS5Padding"); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchPaddingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * Metoda wykonuje operacje XOR na podanych tablicach i zwraca wynik w nowej tablicy * @param msg tablica wiadomosci * @param key tablica klucza * @return tablica po operacji XOR */ public static byte[] XORcoder(byte[] msg, byte[] key) { byte[] ret = new byte[msg.length]; for(int i=0; i<msg.length; i++) ret[i] = (byte) (msg[i]^key[i%key.length]); return ret; } /** * Metoda wykonuje operacje XOR i zwraca wynik w postaci tekstu * @param msg testk do operacji XOR * @param key klucza do operacji XOR * @return teskt otrzymany po operacji XOR */ public static String XORCoderToString(byte[] msg, byte[] key) { StringBuilder sb= new StringBuilder(); byte[] tmp = XORcoder(msg, key); for (byte b : tmp) { sb.append((char)b); } return sb.toString(); } } |
Java Szyfrowanie DES/ECB/SKCS5Padding
Napisz odpowiedź