Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 1

Шифрование RSA - Java

26.03.2018, 17:18. Показов 1427. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу приложение-криптер на java для школьного проекта(можно сказать еще новичок), хочу реализовать алгоритм RSA, чтобы можно было через него передать "собеседнику" секретный ключ от AES.
Вот соответсвенно код метода шифрования. pubKey и priKey уже реализованы и автоматически генерируются. На вход подаётся строка strOpenTextE и я хочу, чтобы можно было передать зашифрованное сообщение через любую соц.сеть мессенджер, для этого байтовый массив asString делаю из строки на кодировке Base64, но тут сразу появляется проблема. Base64.Decoder иногда не читает повторяющиеся буквы, или вообще добавляет свои байты из-за чего после расшифровки исходный текст искажается. Я не знаю, что делать. Другие кодировки дают непонятный набор символов, который даже не расшифровывается, а эта кодировка даёт строку латинских букв и символов, которые можно как раз передать собеседнику, как строку.
Буду рад, если кто подскажет, как сделать, чтобы то исходный текст шифровался в строку, а затем расшифровывался без ошибок.


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
private static void Shifrated() throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, InvalidKeySpecException, IOException {
        cipher = Cipher.getInstance("RSA");
 
        if (mode == 1) {
            cipher.init(Cipher.ENCRYPT_MODE, pubKey);
            byte[] asString = new sun.misc.BASE64Decoder().decodeBuffer(strOpenTextE);
 
            byte[] bytes = cipher.doFinal(asString);
 
            strCipherE =  new sun.misc.BASE64Encoder().encode(bytes);
 
 
 
        } else if (mode == 2) {
            cipher.init(Cipher.DECRYPT_MODE, priKey);
 
            byte[] asString  = new sun.misc.BASE64Decoder().decodeBuffer(strCipherD);
 
 
 
 
            byte[] bytes1 = cipher.doFinal(asString);
 
            strOpenTextD =  new sun.misc.BASE64Encoder().encode(bytes1);;
 
 
           }
 @FXML//код контроллера, который шифрует сообщение
    void useMethod(ActionEvent event){
 
        RsaCreate.setPublicKey(friendKey.getText()); //friendkey - TextField с публичным ключом
        RsaCreate.madePubKey();
        RsaCreate.setStrOpenTextE(yourKey.getText()); //yourKey - TextField с сообщением, которое надо зашифровать
 
        RsaCreate.setMode(1);
        RsaCreate.Start();
 
        getKey.setText(RsaCreate.getStrCipherE());
 
    }
@FXML//код, который расшифровывает сообщение
    void mouse(Event event){
 
        if(!newFriendKey.getText().equals("")) {
            RsaCreate.setStrCipherD(newFriendKey.getText()); //newFriendKey - TexField с зашифрованной строкой
            RsaCreate.setMode(2);
            RsaCreate.Start();
 
                profileKey.setText(RsaCreate.getStrOpenTextD());
 
        }
Подскажите, что неправильно делаю
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.03.2018, 17:18
Ответы с готовыми решениями:

Java rsa шифрование
Доброе времени суток. Подскажите пожалуйста примеры программ где используется технология шифрования данных по средствам технологии rsa (...

Шифрование RSA в Java
Доброго времени суток, господа! Проблема такая: дали задание сделать программу шифрования RSA в Java, я эту программу вижу второй раз в...

RSA и кодировка в JAVA
Добрый вечер. Сам являюсь новичком. По образцу со страницы http://javadigest.wordpress.com/2012/08/26/rsa-encryption-example/ из...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.03.2018, 17:18
Помогаю со студенческими работами здесь

Java шифрование
Добрый вечер! Срочно нужно решить задачку: Дана строка-предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных...

Java RC4 + CRC16 шифрование/дешифрование
Есть код который дишфрует пакет нужно написать код который будет шифровать данный пакет обратно Вот код package decrypt; ...

Ошибка Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at pr4.RSA.main(RSA.java:44)
package pr4; import java.math.BigInteger; import java.security.SecureRandom; public class RSA { private final...

RSA шифрование
Здравствуйте. Нашел реализацию RSA для Java в интернете. Немного переделал класс, добавив getters и setters, а так же перенес инструкции из...

RSA шифрование
Всем привет. Можете пожалуйста скинуть ссылку, где нормальная реализация RSA шифрования на java. Я искал, но находил всягую дичь. Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru