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

Шифрование

16.12.2023, 21:41. Показов 956. Ответов 0

Author24 — интернет-сервис помощи студентам
Всем привет. Помогите разобраться
На сервер отправляется строка данных в читаемом формате.
С сервера приходит файл с данными, программа его расшифровывает.
Программа создает приватный ключ со строкой которая отправляется на сервер

Java Скопировано
1
2
3
4
5
6
7
8
9
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
String str= "та самая строка";
int id = str.hashCode(); 
String tmp = Integer.toString(id);
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
random.setSeed(tmp.getBytes("UTF-8"));
keyGen.initialize(2048, random);
KeyPair keyPair = keyGen.generateKeyPair();
privateKey = keyPair.getPrivate();
Происходит декодирование файла, заполняется массив байтов c определенных позиций
Java Скопировано
1
2
3
4
5
6
byte[][] arr = new byte[N][]
 
arr[0] = ******
arr[1] = ****** 
arr[N] = ****** 
по 256 байт

Далее создается шифр и развертывание
Java Скопировано
1
2
3
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1PADDING");
cipher.init(Cipher.UNWRAP_MODE, privateKey);
Key key_decrypt = cipher.unwrap(arr[N], "AES", 3);

получаю key_decrypt в 16 байт и далее происходит расшифровка, где получается массив байт, который можно перевести в строку и прочитать
Java Скопировано
1
2
3
cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, key_decrypt);
decrypt= cipher.doFinal(Arrays.copyOfRange(decrypt, position, decode.length));


Хочу сделать обратный процесс.
Как сделать, чтобы после упаковки
Java Скопировано
1
2
Cipher cipher = Cipher.getInstance(какой алгоритм???);
cipher.init(Cipher.WRAP_MODE, Какой ключ???);
получились такие же байты, как в массиве после декодирования и заполнения
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.12.2023, 21:41
Ответы с готовыми решениями:

Шифрование
Здравствуйте друзья, помогите пожалуйста с решением следующей задачи: Реализовать алгоритм шифрования/дешифрования двоичного файла в...

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

Шифрование текста
Здравствуйте. Решил поработать со строками. И при реализации задачи я столкнулся с трудностью. Собственно задача: Способ шифрования...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.12.2023, 21:41
Помогаю со студенческими работами здесь

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

Блочное симметричное шифрование
Всем привет!!! нужен код блочного симметричного шифрования) Реализовать систему симметричного блочного шифрования, позволяющую шифровать и...

Шифрование передающих данных
Привет всем, подскажите пожалуйста способ, с помощью которого можно зашифровать данные, что передаются в базу данных типа MySQL с помощью...

Шифрование файлов КриптоПро
Здравствуйте. Нужно шифровать файлы с персональными данными, получаемые от "пользователей", перед тем, как записать их в...

Побитовое шифрование файлов
Народ, срочно нужна помощь, мне нужна зашифровать файл путем наложение на него другого файла за модулем 2(для розшифровки надо снова...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи будет применено как метод обработки данных из double buffering. Формулы от LM конечно с ошибками.
Hrethgir 10.04.2025
В продолжение Эта LM дала ответ похожий на нормальный. В комментриях мой комментарий - похоже она ошиблась с выведением итоговой формулы, но остальные проверю. Assistant qwen2. 5-14b-instruct . . . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер