![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
UDF: Собственно, симметричный алгоритм шифрования сделал такой:
Надо бы как-то ускорить и улучшить его. Это сообщение отредактировал(а) Alexeis - 30.3.2007, 20:31 |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 6 Всего: 111 |
А что тут упрщать то |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Ну не знаю. Думаю, что sum, len и res - лишние.
Может, asm? |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 3 Всего: 158 |
tishaishii, пару советов:
не придумывай шифрование. используй готовое, пока не отягощен хотя бы минимальными знаниями в данной области. нагромаждение xor'ов не повышает степень "зашифрованности". "на глазок" можно оценить качество(это даже не качество, а скорее степень скрытости от любопытных(домохозяек)) "шифровки" путем передачи функции длинной последовательности одинаковых символов - должна получиться "каша", а не повторения последовательностей. и ассемблер тебе не поможет ни в этом случае, не в другом(рядом какая-то тема). опять же до тех пор, пока не изучишь его в объеме, достаточном для "соревнования" с оптимизирующими компиляторами(хотя дельфи таковым можно назвать с большой натяжкой). |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Ооочень пафосный ответ, о, Великий.
Ты же не знаешь всю предисторию, о, Мудрец. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
tishaishii, всё правильно сказано. Если под словом "улучшить" имелось ввиду сделать более стойким, то тебе придётся отказаться от xor'a или комбинировать. А ускорять тебе нечего, кроме одного: Вместо типов string используй pchar и днамическое выделение памяти(размер-то тебе известен), а то при использовании типов string в твоём случае больше половины времени тратится на перераспределение для строки.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Слушай: ты приходишь в магазин покупать видюху и знаешь какую надо, она там есть в наличии и по цене подходит вполне. А продавец, сволочь, всё время тебя мучает своими домыслами и пересудами: "Лучше купите то, это - [censored33! Пожалуйста, соблюдайте элементарные правила приличия при общении на форуме], я лучше знаю". И думаешь: "куда я попал?". Продавец - сам идиот.
Я не прошу советов и ваших домыслов, я прошу, пожалуйста, помогите ускорить и улучшить алгоритм, который я предложил. |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 6 Всего: 111 |
||||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
tishaishii, ты ещё раз перечитай мой пост и не дерзи, я тебе указал слабое место, которое можно оптимизировать.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 3 Всего: 158 |
если покупатель начинает доставать продавца вопросами "а как улучшить эту видюху, как сделать ее более быстрой, и чтоб памяти побольше", то продавец, вполне обоснованно, предложит другую видеокарту. так что идиот в данном случае - покупатель. свободен. |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Если продавца стал спрашивать, то считаешь, что он больше знает. А продавец - его роль такая: продавать, а если его это раздражает или ещё какие неудобства ему причиняет - ему можно просто уволиться, чтобы избежать этого. Вспоминаются советсике магазины, где воняет старой колбасой и за прилавками стоят старые толстые продавщицы, которым всё пофиг и на всех.
Наговорили очень много, а такой ерунды сделать не сумели. Об чём это может говорить. Это сообщение отредактировал(а) tishaishii - 2.4.2007, 09:26 |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
tishaishii, Этот алогритм изначально страдает проблемой неверной передачи данных.
Строка при выходе из функции автоматически удаляется, если не увеличен ее внутренний счетчик ссылок. Этот счетчик меняется только если String присваивается String-у, а тут такого не происходит, потому по выходу из процедуры память строки считается освобожденной и может использоваться любыми другими процедурами. Вероятнее всего это произойдет при вызове именно функции из этой библиотеки, так как менеджер памяти у библиотеки и у программы разный. Почему строка сразу же не портиться, а потому что менеджер памяти не может освободить для Windows слишком маленький фрагмент памяти, но он может его выделить повторно для другой процедуры, если ей нужен небольшой фрагмент памяти, тогда она приспокойно запишет свои данные поверх имеющихся и возникнет непонятный глюк. Result:=PChar(res); - вот так делать нельзя впринципе. Это ошибка, которая всплывет где-нибудь ниже по коду. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 9 Всего: 95 |
tishaishii
Я, в общем-то, согласен со многим из того, что здесь говорилось, но если уж тебе так хочется оптимизировать именно твой алгоритм, то навскидку могу предложить так:
Можно, конечно, еще поизвращаться во второй функции, но боюсь ощутимого прироста производительности или экономии не получится... -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |