Skip to content

Instantly share code, notes, and snippets.

Цель: обе стороны должны иметь одно и то же значение - секрет. Это может быть что угодно (обычно массив байтов)
Условие:
Существует способ асимметрической криптографии (публичный ключ используется для зашифровки, секретный ключ используется для расшифровки). Используя этот способ никто не может узнать второй ключ, зная один из пары.
Решение:
1. Сервер создает случайную пару ключей.
2. Сервер передает публичный ключ клиенту (третья сторона имеет доступ к публичному ключу)
3. Клиент получает публичный ключ.
4. Клиент создает секрет.
package dany.test3;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URI;
import java.net.URISyntaxException;
import sun.awt.OSInfo;
import sun.awt.OSInfo.OSType;