Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CryptoXOR{
- public static void main(String[] argv){
- String src = "Mama mila ramu!";
- String pass = "Password123";
- String dst = "";
- //Программа работала неправильно из за того что символы Unicode занимают 2 байта
- System.out.println("Sourced data:\n"+src);
- byte[] cryptedData = encode(src,pass);
- //Посмотрим что получилось
- System.out.println("Crypted data:\n"+new String(cryptedData));
- //Расшифруем
- dst = decode(cryptedData,pass);
- //Посмотрим что получилось
- System.out.println("Decrypted data:\n"+dst);
- }
- public static byte[] encode(String msg, String password){
- //Шифруем msg - сообщение, password пароль
- byte[] bMsg = null;
- byte[] bPass = null;
- bMsg = msg.getBytes();
- bPass= password.getBytes();
- byte[] result = new byte[msg.length()];
- for(int i=0; i<bMsg.length;i++){
- result[i] = (byte)(bMsg[i] ^ bPass[i % bPass.length]);
- }
- return result;
- }
- public static String decode(byte[] secretMsg, String password){
- //Расшифровываем secretMsg - зашифрованное сообщение, password пароль
- byte[] bPass = null;
- bPass= password.getBytes();
- byte[] result = new byte[secretMsg.length];
- for(int i=0; i<secretMsg.length;i++){
- result[i] = (byte)(secretMsg[i] ^ bPass[i % bPass.length]);
- }
- return new String(result);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement