Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Программирование / Programming (https://forum.zone-game.info/forumdisplay.php?f=98)
-   -   C# RSA encoding for L2 (https://forum.zone-game.info/showthread.php?t=42527)

Zubastic 23.09.2017 02:38

C# RSA encoding for L2
 
Собственно решил сейчас переписать кодировку пароля в RSA ибо многие используют Mono, которое мне показалось достаточным легаси, чтобы избавиться. Плюс профайлер орет, что там самая большая нагрузка на систему впринципе. Взял BouncyCastle, однако столкнулся с проблемами:
1) Ключ должен быть положительным числом, хотя скрипт с моно работает и с отрицательными
2) Длина шифруемых данных должна быть равна 32 байтам (сцуко кто это придумал nichoci)

Вообщем мб кто-то сталкивался...а у яверов все просто:
Cipher rsaCipher = Cipher.getInstance("RSA/ECB/nopadding");
rsaCipher.init(Cipher.DECRYPT_MODE, client.getRSAPrivateKey());
decrypted = rsaCipher.doFinal(_raw, 0x00, 0x80);

:redlol::redlol::redlol:

n3k0nation 23.09.2017 04:25

Re: C# RSA encoding for L2
 
Пойти и выучить, что такое блочное шифрование, а также паддинг/нонпаддинг режимы - тогда станет все сразу ясно и понятно. Смотреть в сторону libcrypto из openssl, it is classic хорошо набивает руку.

Zubastic 23.09.2017 06:53

Re: C# RSA encoding for L2
 
Цитата:

Сообщение от n3k0nation (Сообщение 428059)
Пойти и выучить, что такое блочное шифрование, а также паддинг/нонпаддинг режимы - тогда станет все сразу ясно и понятно. Смотреть в сторону libcrypto из openssl, it is classic хорошо набивает руку.

Я вкурсе, что такое блочное шифрование и паддинг. И реализацию в openssl тоже видел (для дотнета вообще обертка над нативной дллкой).

n3k0nation 23.09.2017 07:00

Re: C# RSA encoding for L2
 
Тогда к чему вопрос о длине шифруемых данных, если есть знание и понимание этого всего?:)

Цитата:

Сообщение от Zubastic (Сообщение 428058)
1) Ключ должен быть положительным числом, хотя скрипт с моно работает и с отрицательными

На счет этого: знака минус не существует, Нео. Это всего лишь интерпретация битового флага для некоторых форматов чисел. Смотри в сторону другого представления числа.

Zubastic 24.09.2017 00:49

Re: C# RSA encoding for L2
 
Цитата:

Сообщение от n3k0nation (Сообщение 428061)
Тогда к чему вопрос о длине шифруемых данных, если есть знание и понимание этого всего?:)

К тому, что различные реализации работают по-разному :)
Цитата:

Сообщение от n3k0nation (Сообщение 428061)
На счет этого: знака минус не существует, Нео. Это всего лишь интерпретация битового флага для некоторых форматов чисел. Смотри в сторону другого представления числа.

Да это все понятно, вопрос в реализации.

Alay 24.09.2017 15:01

Re: C# RSA encoding for L2
 
в исходниках rabbit'a на шарпе есть реализация rsa под l2.
лично я использую следующий код под BouncyCastle.

Юзабилити:
Свернуть ↑Развернуть ↓


Пара:
Свернуть ↑Развернуть ↓

Zubastic 24.09.2017 21:11

Re: C# RSA encoding for L2
 
Цитата:

в исходниках rabbit'a на шарпе есть реализация rsa под l2.
лично я использую следующий код под BouncyCastle.
Я вот хочу использовать реализацию без использования сторонних библиотек...

Добавлено через 52 секунды
Вообще var random = new SecureRandom(); это очень гадкая вещь))


Текущее время: 01:57. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot