Ответ 1
В Интернете есть немало ресурсов в Интернете. В основном он обходит класс KeyPairGenerator.
См. http://www.informit.com/articles/article.aspx?p=170967&seqNum=4 для примера программы.
Мне удалось найти информацию о симметричном шифровании и хэшировании, но у меня возникла небольшая проблема с поиском много информации о любом шифровании с открытым ключом для Java. Я бы хотел сделать очень простое доказательство концептуальной программы, которая берет строку (или файл, я полагаю), шифрует ее открытым ключом и затем расшифровывает ее с помощью закрытого ключа.
Любые ссылки на учебники или примеры будут оценены. Я просто хочу сделать что-то, демонстрирующее, как вы можете использовать шифрование с открытым ключом в Java.
В Интернете есть немало ресурсов в Интернете. В основном он обходит класс KeyPairGenerator.
См. http://www.informit.com/articles/article.aspx?p=170967&seqNum=4 для примера программы.
Обычно для шифрования симметричного ключа используется шифрование с открытым ключом, отчасти потому, что шифрование с открытым ключом происходит очень медленно. Как правило, вы отправляете получателю следующее, чтобы они могли расшифровать ваше сообщение:
Я нашел образец кода в документации JCE, достаточной для работы.
Стандартным форматом для связывания всей этой информации является Синтаксис криптографического сообщения или CMS, который используется S/MIME в приложениях электронной почты. Я рекомендую использовать библиотеки Bouncy Castle; они прочны, довольно просты и активно поддерживаются. Эталонная документация немного слаба, но они предоставляют примеры кода.