Шифрование файлов

Шифрование файлов 1.1

Нет прав для скачивания
477
7
51
Coffee добавил(а) новый ресурс:

Шифрование файлов - Шифрование файлов на java

Программа для шифрования файлов, легка в использование.
Начальная версия,чуть позже залью исходники на гит-хаб.
есть поле ввода пути input там можете ввести сами путь или использовать кнопку choose.
Поле кей - это ключ по которому будет шифровать файл а потом и дешифровать её.
Если не знаете какой ключ написать нажмите кнопку справа.
а потом нажимаете encryption.
дешифровка файла должна быть лишь уже зашифрованной!
если вы дешифруете файл который не был шифрован он зашифруется :)
По каким-то...

Узнать больше об этом ресурсе...
 
А как юзать потом файл, который был зашифрован?
Каждый раз его дешифровать и потом юзать в коде?
 
Слив кода что ты хочешь не значит что тут будет топ код и так и ждал тру кодеров увидеть по явке лол
 
Да я не обижаюсь вовсе, просто с другом говорили что напиши кто нибудь по явке, вот и случилось а так я не собо понял что ты имеешь обвернуть, что это даст? Объясни

Ты про код загрузки модели?

А как юзать потом файл, который был зашифрован?
Каждый раз его дешифровать и потом юзать в коде?
Да агравайн тебе ответил, ты ведь должен его как то читать, после шифрования

Чего уж, создавал бы буффер размером Long.MAX_VALUE сразу :unsure:
Это рофл или как?
 
Сразу при чтении расшифровывает, у тебя же сначала читает все, а потом еще раз по всем байтам бежит и расшифровывает.
Java:
public class SafeInputStream extends FilterInputStream{

    private final int key;

    public SafeInputStream(InputStream in, int password){
        super(in);
        key = password;
    }

    public int read() throws IOException{
        int n = in.read();
        if(n == -1){
            return -1;
        }
        return (byte)(n ^ key);
    }

    public int read(byte b[]) throws IOException{
        return read(b, 0, b.length);
    }

    public int read(byte b[], int off, int len) throws IOException{
        if(b == null){
            throw new NullPointerException();
        }else if(off < 0 || len < 0 || len > b.length - off){
            throw new IndexOutOfBoundsException();
        }else if(len == 0){
            return 0;
        }

        int c = in.read();
        if(c == -1){
            return -1;
        }
        b[off] = (byte)(c ^ key);

        int i = 1;
        try{
            for(; i < len; i++){
                c = in.read();
                if(c == -1){
                    break;
                }
                b[off + i] = (byte)(c ^ key);
            }
        }catch(IOException e){
        }

        return i;
    }
}
 
Ключ размером в один байт.. Такое себе.
 
Было бы не плохо ключ пакетом с сервера отправлять
 
А как ты тогда предлогаешь шифровать?
Учитывая код под обф будет
 
Шакалы, набросились на бедного парня )
Пускай пишет что хочет, практикуется. Типа вы сходу rsa-подобные алгоритмы писали )
 
Прости, но это даже не уровень. Самый обычный XOR cipher. Кстати, каждый символ ключа может иметь лишь 255 комбинаций. Т.е. даже ключ из 10000 символов переберется без проблем.
Говно, соре :)

Сразу при чтении расшифровывает, у тебя же сначала читает все, а потом еще раз по всем байтам бежит и расшифровывает.
Java:
public class SafeInputStream extends FilterInputStream{

    private final int key;

    public SafeInputStream(InputStream in, int password){
        super(in);
        key = password;
    }

    public int read() throws IOException{
        int n = in.read();
        if(n == -1){
            return -1;
        }
        return (byte)(n ^ key);
    }

    public int read(byte b[]) throws IOException{
        return read(b, 0, b.length);
    }

    public int read(byte b[], int off, int len) throws IOException{
        if(b == null){
            throw new NullPointerException();
        }else if(off < 0 || len < 0 || len > b.length - off){
            throw new IndexOutOfBoundsException();
        }else if(len == 0){
            return 0;
        }

        int c = in.read();
        if(c == -1){
            return -1;
        }
        b[off] = (byte)(c ^ key);

        int i = 1;
        try{
            for(; i < len; i++){
                c = in.read();
                if(c == -1){
                    break;
                }
                b[off + i] = (byte)(c ^ key);
            }
        }catch(IOException e){
        }

        return i;
    }
}
Можно просто какой-нибудь CipherInputStream тогда использовать. Схема та же, только передай алгоритм шифрования в аргументы
 
Логично, это же не 1 битовая операция на 1 байт. Зато шифрование не уровня Цезаря
 
вот именно логика тогда почти такая же..
 
Назад
Сверху