Testeroider, тогда похоже в сервис дорога. Ну или на помойку. Не должно оно из-за смены какой-либо настройки так себя вести. Хотя можете погуглить, может что недокументированное и найдёте. Вот как здесь напаример: https://forums.tomshardware.com/threads/2x-gigabyt...
Ну, решили вопрос - и хорошо. Но на всякий случай, замена нулей - это просто бред. Нельзя так делать. Совершенно случайно в выходной последовательности байт у Вас иногда не оказывалось нулевых байт, замен не было, вот и казалось, что функция работает. Так что это было не решение хорошее, а тесты плохие.
Я имел ввиду, какие именно данные Вам нужно шифровать или дешифровать? Сам-то алгоритм здесь в принципе верный. И если Вы уверены, что на вход этой функции будете подавать только однобайтные символы, она будет работать.
Разумеется "ликвидацию нулей" нужно убрать. А дальше понимать, что возвращаемая функцией строка в ряде случаев может восприниматься на просмотре некорректно, т.к. может содержать нулевые байты. Сразу применяйте её по назначению. Что там Вам дальше с зашифрованными данными делать нужно?
Вот если вдруг кто-то заинтересуется и зайдёт в этот вопрос - он же здесь голову сломает, чтобы разобарться где тут что и о чём речь!
Есть код в вопросе, код в комментарии к вопросу, код в "Ответах". Где-то написано "Спасибо, решил", где-то "Рано радовался".
То, что Вы разместили в "Ответах" лучше просто удалить, раз это не решение. Далее нужно причесать вопрос.
- Хорошо бы кратко рассказать о решаемой задаче. Для чего Вы собираетесь применять эту Вашу функцию. (От этого зависит должна ли она быть универсальной или можно чем-то пренебречь)
- Можете оставить js-код если хотите, на самом деле он не очень нужен.
- Разместите тот Delphi код, который будет обсуждаться.
- Описание его тестирования. Что подаёте на вход, что получаете в результате тестирования, чем результат отличается от ожиданий.
- Лишнее уберите или переформулируйте понятнее. Например я совсем не понял к чему тут base64? Она применяется до шифрования, после шифрования или что?
Дополнительный вопрос. Вы не из этого свою функцию делали? https://github.com/daleffe/rc4
Там автор получившиеся в результате шифрования байтики преобразует в текстовое hex-представление. Поэтому и функция у него возвращает строковый результат. А Вы, чтобы получить "красивую" строку пытаетесь выкинуть 0 которые получились не просто так, они нужны - это результат шифрования!
И ещё, его функция не будет работать с юникодными символами.
Функция, непосредственно реализующая шифрование, не должна оперировать с понятиями "Строка", "символ" (если это не однобайтные символы!). Она должна оперировать с массивом байт. На вход подан байтовый массив и на выходе байтовый массив. Результат имеет полное право содержать и нулевые байты. Если нужно, то уже вот этот итоговый массив можно закодировать тем же base64 например.
Sergey Ryzhkin, эти устройства совсем необязательно вставлять в компьютер и питать от компьютерного блока питания. Пожелания по "красивостям" Вы не писали. :) Если нужно максимально просто, тогда Ваше решение по 1 переменному резистору на вентилятор, как описано например здесь: https://habr.com/ru/post/89951/
Питание от любого тычка типа такого https://www.aliexpress.com/item/32722341492.html (12V ну и допустим 1А)
mffgicono, Как видно из текста статьи, даже если "в течение некоторого времени" (даже минута - это тоже некоторое время) по вашей вине был затруднен доступ к некоей информации - это уже состав преступления.
Я вовсе не имею в виду, что декан уже звонит в соответствующий отдел органов, чтобы открыть на Вас дело. Понятно, что никто связываться не захочет. Но право на это он имеет. А то что у сервера вовремя сработала защита - так это аналог того, как если бы на карманной краже Вас поймали за руку.
Так что с такими опытами шутить не стоит. Кто знает, на ком Вам завтра поэкспериментровать захочется, а там могут более сердитые люди оказаться.
Но всё равно не хотелось бы выговор получить по факультету из-за желания исследовать новое
Выговор? Вы ему радоваться должны, так как Вам статья УК полагается!
УК РФ Статья 272. Неправомерный доступ к компьютерной информации
1. Неправомерный доступ к охраняемой законом компьютерной информации, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование компьютерной информации, -
наказывается штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев, либо исправительными работами на срок до одного года, либо ограничением свободы на срок до двух лет, либо принудительными работами на срок до двух лет, либо лишением свободы на тот же срок.
Ваш случай:
б) блокирование информации - результат воздействия на компьютерную информацию или технику, последствием которого является невозможность в течение некоторого времени или постоянно осуществлять требуемые операции над компьютерной информацией полностью или в требуемом режиме, то есть совершение действий, приводящих к ограничению или закрытию доступа к компьютерному оборудованию и находящимся на нем ресурсам, целенаправленное затруднение доступа законных пользователей к компьютерной информации, не связанное с ее уничтожением;
@ _ @, я написал, в каком случае циклов будет меньше. Уточните у преподавателя, как нужно понимать условие задачи. Это не вопрос оптимизации, это вопрос постановки задачи. Для случая, как Вы поняли задачу, нужны все 3 цикла, в какой-то другой интерпретации может и не 3.
Ну или используйте предложенный Константин Цветков "ход конём" :))
И освойте математические функции имеющиеся в Delphi, код станет гораздо читабельнее: https://docwiki.embarcadero.com/RADStudio/Sydney/e...
alena11111, При малом объёме оперативки тормоза наступают из-за того, что то, что "не влезает" то и дело скидывается в так называемый "своп" - специальный файл на диске. Дополнительная память эту проблему облегчит. Но всё равно и сама Windows и прикладные программы с диском активно работают. Сами программы запускаться быстрее будут, рабочие файлы/документы быстрее читаться/записываться, в процессе работы программ временных файлов много создаётся. Вот и получается, что более быстрый диск будет заметным подспорьем.
alena11111, тут уж только Вам решать - вкладываться в этот или копить на новый. Я про ssd написл просто к тому, что следующим "бутылочным горлышком" скорее всего диск станет, а уж только потом процессор.
Армянское Радио, Если я не путаю, то у разъёмов питания ЦП со стороны защёлки 12V с другой земля. А у разъемов для питания видеокарт - наоборот, где защёлка, там ряд земли. Молекс на 6 пин - он скорее для видюх, т.е. второй вариант, а его затолкали в материнку. Коротыш по 12V устроен был.
А как так получилось, что речь в вопросе про дропбокс, а в ошибке какой-то адрес яндекс-диска? Это как они так пересеклись?
Не устроил ли кто-то из пользователей у себя на компе общую папку и для яндекс-диска и для дропбокса? И в яндекс-диске файл хранится только в облаке, а на компе реально только ссылка, которую и видит дропбокс... В общем, в таком случае голову сломаешь, как оно должно работать.
Владимир, какие-нибудь диагностические утилиты у производителя диска поискать можно или просто погуглить что-нибудь универсальное. Но они обычно какую-то одну общую оценку пишут - типа "хорошо". Можно конечно ещё скорость потестировать, если ниже разумного, то явно что-то не так.
Но это тоже не совсем то, что нужно. Тут проблема не такая, чтобы её программно поймать можно было. Пока диск виден, он может и все тесты пройдёт. А вот пропадает-то он с чего? Это программы не расскажут.
И неисправность любая может быть включая механические непропай или микротрещину в дорожке.
У дропбоксов есть предупреждение, что мол ссылка может быть заблокирована, если генерит много трафика. Может на видеофайлы из этих же соображений оно сразу не даёт ссылку создавать? Особенно, если аккаунт бесплатный...
Хотя у меня на mov создало. Поддержку по идее спрашивать надо.
GavriKos, ну пожалуй да, вроде как даже про многопоточное кодирование/декодирование jpeg статьи видел, если здесь такое нужно. А уж какой метод быстрее - надо на реальной системе измерять.
Newbie2, можно просто поверить тому, что написано на сайте, как например по Вашей ссылке. Ну а так обычно батарея, даже расположенная внутри корпуса, не слишком сложно извлекается.