![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
4epT |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Добрый день! Скачал в интернете класс который позволяет шифровать и расшифровывать методом RSA. Вот исходный код:
дело в том что если шифровать простой текст, то все хорошо работает к примеру вот такой аод работает:
но если шифровтаь хеш этого текста то получаеться черт знате что. Вот код который не работает:
в чем может быть проблема? Или подскажите где можно взять реализацию RSA на Java ... RSA нужен именно для ЭЦП (Электронно цифровой подписи) |
||||||
|
|||||||
Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 6 Всего: 16 |
RSA на Java можно взять в самой Java. http://download.oracle.com/javase/6/docs/t...rity/index.html Неожиданно, правда? |
|||
|
||||
4epT |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
смешно конечно но скачать исходник у меня не получается |
||||
|
|||||
jk1 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Ничего не надо скачивать, этот исходник в составе JDK есть. 1.Генерируете ключ:
2. Шифруете
-------------------- Opinions are like assholes — everybody has one |
||||||
|
|||||||
4epT |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
jk1, спасибо большое за помощь) помогло!
Но теперь столкнулся с другой проблемой ... мне нужно этот зашиврованый текст дописать в конец сообщения а потом извлечь его расшифровать. НА тапе конвертирования из массива байтов в строку и из строки обратно в массив байтов изменяются значения =(( как это правильно сделать? я делаю вот так:
и обратно:
|
||||
|
|||||
jk1 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Вот так никогда поступать не стоит. Стока как контейнер массива байтов не работает, потому что воспринимает байты с учетом кодировки. В вашем случае байты надо переводить в стоковый вид посредством Base64 кодирования:
Тут правда следует оговориться, что эта реализация B64 будет доступна только на JDK от Oracle, поэтому правильнее будет включить в состав исходников реализацию B64, например вот эту -------------------- Opinions are like assholes — everybody has one |
||||
|
|||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 3 Всего: 46 |
sorry
its offtopic ![]() jk1, молодец, помнится только ссылками кормил, а теперь коды пишешь ![]() приятно даже смотреть на это ![]() плюс тебе |
|||
|
||||
jk1 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Offtopic:
Времени свободного стало побольше, хватает и на примеры.
Спасибо -------------------- Opinions are like assholes — everybody has one |
||||
|
|||||
4epT |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
jk1, спасибо за класс Base64. Он помог решить эту проблему))) но все равно что то у меня не получаеться =(
при декодировании в пределах одной функции все хорошо. Хешь (MD5) сообщения совпадает с расшифрованным. Вот кусочек кода:
и делаю точно такой же вызов декодирования, но уже из другой функции:
и массивы байт отличаються ... методы вызываю вот так вот:
кто нибудь может подсказать, где я ошибся?)) Это сообщение отредактировал(а) 4epT - 3.11.2010, 18:01 |
||||||
|
|||||||
jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
А вы случайно ключи не перегенерируете для каждого вызова? -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
4epT |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Ключи статические ... инициализируються в статической области:
но для уверенности сейчас выведу ключи в обеих методах. |
||||||
|
|||||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
ключи одинаковые =(
есть еще варианты?) |
|||
|
||||
jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
На основании приведенного нет. Вы не могли бы запостить несколько классов целиком, чтобы я мог воспроизвести проблему? Особенно интересуют классы ECP и Message. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
4epT |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
да, без проблем. ECP
Message
|
||||||||
|
|||||||||
jk1 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Проблема в запутанной логике класса Message. Предлагаю такой вариант:
-------------------- Opinions are like assholes — everybody has one |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |