Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 30.09.2012, 21:22   #1
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

Rzone, ну я подумал будет понятно что я начал нумерацию байтов с опкода - "1 первый байт должен получится 00 - опкод пакета Init"
PornoTraktor вне форума   Ответить с цитированием
Старый 30.09.2012, 22:06   #2
Пользователь
 
Регистрация: 20.02.2012
Сообщений: 37
Сказал Спасибо: 9
Имеет 0 спасибок в 0 сообщенях
Rzone пока неопределено
По умолчанию

Блин, опять проблема. Дошел до криптования логина/пароля в исходниках процедура использующая здоровую библиотеку FGint, переписывать все очень долго, можно конечно сделать библиотеку из сырцов, но хотелось бы разобраться и написать все самому...
Тут вообще ничего не пойму:
Код:
function RSAEncrypt(a,p,rsakey:string):string;
var
  sD,sR,sM:string;
  m,e,d,r:TFGInt;
begin
  if length(a)>14 then setlength(a,14);
  while length(a)<14 do a:=a+#0;
  if length(p)>16 then setlength(p,16);
  while length(p)<16 do p:=p+#0;
  sD:=a+p+#0#0#0#0;
  sM:=rsakey;
  Base10StringToFGInt('65537',e);
  Base256StringToFGInt(sD,d);
  Base256StringToFGInt(sM,m);
  FGIntMontgomeryModExp(d,e,m,r);
  FGIntToBase256String(r,sR);
  result:=sR;
end;
PornoTraktor, если у тебя функция небольшая криптующая логин/пароль по RSA может поделишься?)
Rzone вне форума   Ответить с цитированием
Старый 30.09.2012, 22:20   #3
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

Rzone, у меня на жаве бот, там это делается так
Код:
            KeyFactory keyFactory = KeyFactory.getInstance("RSA");
            PublicKey publicKey = keyFactory.generatePublic(
                    new java.security.spec.RSAPublicKeySpec(
                            new BigInteger(1, this.publicRsaKey),
                            new BigInteger("65537"))
            );
            Cipher rsaCipher = Cipher.getInstance("RSA/ECB/NoPadding");
            rsaCipher.init(Cipher.ENCRYPT_MODE, publicKey);
            offset = 3;
            writeB(rsaCipher.doFinal(buff, offset, 0x80));
если чем-то поможет)) вообще мне кажется лучше взять какие-то готовые либы, чем изобретать велосипед. Кстати - вот везде пишут RSA... RSA, а какой RSA? Там много разновидностей алгоритма (в нашем случае "RSA/ECB/NoPadding") есть и надо знать модуль (65537) - его нигде нету! Пока сам не залез в исходники l2jserver так и не разобрался...
PornoTraktor вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг


Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 10:19.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!