Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package progettoADE;
- import org.omg.CORBA.Object;
- public final class Cifrario {
- public class java {
- }
- private Cifrario() {
- }
- public static byte[] algoritmoA(byte[] buffer, boolean dec) {
- adder(buffer, 0, 1, dec);
- return buffer;
- }
- public static byte[] algoritmoB(byte[] buffer, boolean dec) {
- adder(buffer, 0, 2, dec);
- return buffer;
- }
- public static byte[] algoritmoC(byte[] buffer, boolean dec) {
- adder(buffer, 1, 2, dec);
- return buffer;
- }
- public static byte[] algoritmoD(byte[] buffer) {
- byte temp;
- for (int i = 0; i < buffer.length / 2; i++) {
- temp = buffer[i];
- buffer[i] = buffer[buffer.length - 1 - i];
- buffer[buffer.length - 1 - i] = temp;
- }
- return buffer;
- }
- public static byte[] algoritmoE(byte[] buffer) {
- int x=17;
- int y=byteMakes(x);
- String pippo="017";
- int z=Integer.valueOf(pippo);
- System.out.print("porco dio");
- System.out.print(z);
- byte[] v = new byte[1000];
- int counter = 0;
- for (int i = 0; i < buffer.length; i++) {
- if (buffer[i] != 0) {
- v[counter++] = buffer[i]; System.out.println(v[counter - 1]);
- v[counter++] = 45; System.out.println(v[counter - 1]);
- v[counter++] = (byte)(byteMakes(i)); System.out.println(v[counter - 1]);
- for (int j = i + 1; j < buffer.length; j++) {
- if (buffer[j] == buffer[i]) {
- v[counter++] = 45; System.out.println(v[counter- 1]);
- v[counter++] = (byte) (j+48); System.out.println(v[counter - 1]);
- buffer[j] = 0;
- }
- }
- v[counter++] = 32; System.out.println(v[counter - 1]);
- }
- }
- return v;
- }
- private static byte[] adder(byte[] buffer, int i, int k, boolean dec) {
- int c;
- if(dec) c = -4;
- else c = 4;
- for (; i < buffer.length; i = i + k)
- buffer[i] = (byte) ((buffer[i] + c) % 256);
- return buffer;
- }
- private static byte[] stampaByte(int x){
- String myReturn = null ;
- String k = String.valueOf(x);
- String[] myWord = k.split("");
- for(int i = 0; i < myWord.length; i++){
- int number = Integer.valueOf(myWord[i]);
- number+=48;
- myWord[i]="0"+String.valueOf(number);
- myReturn+=myWord[i];
- }
- return myReturn.getBytes();
- }
- private static int byteMakes(int x){
- int temp = 0;
- int m = 1;
- if(x<=9)
- return x+=48;
- if(x>9 && x<=99){
- for(int i=0;i<2;i++){
- temp=temp + ((x % 10)+48)*m;
- x=x/10;
- m*=1000;
- }
- }
- if(x>99 && x<=999){
- for(int i=0;i<3;i++){
- temp=temp + ((x % 10)+48)*m;
- x=x/10;
- m*=1000;
- }
- }
- return temp;
- }
- }
- ----------------------------------------
- package progettoADE;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- public class test {
- public static void main(String[] args) {
- String input = "C:/temp/input.txt";
- String output = "C:/temp/output.txt";
- String parolaChiave = "C:/temp/parolaChiave.txt";
- boolean dec = false; //voglio decifrare?
- byte[] buffer = toBytesArray(input);
- byte[] sequenza = toBytesArray(parolaChiave);
- buffer = applicaSequenza(buffer, sequenza, dec);
- /*dec = true;
- sequenza = Cifrario.algoritmoD(sequenza);
- applicaSequenza(buffer, sequenza, dec);*/
- toTextFile(buffer, output);
- }
- public static byte[] applicaSequenza(byte[] buffer, byte[] sequenza, boolean dec) {
- for(byte x : sequenza) {
- switch(x) {
- case 65: //A
- buffer = Cifrario.algoritmoA(buffer, dec);
- break;
- case 66: //B
- buffer = Cifrario.algoritmoB(buffer, dec);
- break;
- case 67: //C
- buffer = Cifrario.algoritmoC(buffer, dec);
- break;
- case 68: //D
- buffer = Cifrario.algoritmoD(buffer);
- break;
- case 69: //E
- buffer = Cifrario.algoritmoE(buffer);
- break;
- }
- }
- return buffer;
- }
- public static byte[] toBytesArray(String path) {
- File file = new File(path);
- byte[] bytesArray = new byte[(int) file.length()];
- try (FileInputStream fis = new FileInputStream(file)) {
- fis.read(bytesArray);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return bytesArray;
- }
- public static void toTextFile(byte[] bytesArray, String path) {
- try (FileOutputStream fos = new FileOutputStream(path)) {
- fos.write(bytesArray);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement