Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
ВнизXOR-алгоритм шифрования Найти похожие ветки
← →
^Sanya (2002-10-07 15:25) [0]1-имеет ли смысл использовать
PChar
вместоstring
, в связи с тем, чтоPChar
ограничен лишь ресурсами компа?
2-существует ли вероятность того, что при шифровании строки на выходе может получиться системный символ, обозначающий признак конца строки или файла? А то бывают странные глюки при записи шифрованной(XOR"ом) строки в файл...
← →
MBo (2002-10-07 15:28) [1]1) А String, пардон, чем ограничен?
2) да!
← →
Reindeer Moss Eater (2002-10-07 15:29) [2]1.String ограничен теми же самыми ресурсами.
2.Существует
← →
^Sanya (2002-10-07 16:10) [3]
> MBo © (07.10.02 15:28)
> 1) А String, пардон, чем ограничен?
Цитата из Help"а:
"AnsiString ~2^31 characters 4 bytes to 2GB "
Я понимаю, что забить 2Гб - это изврат, но я спрашиваю принципиально.
Для себя я отвечу, что лишний геморрой с PChar"ом мне не нужен, и он того не стоит, просто хотел Мастеров поспросить.
2-а как же шифровать xor"ом в файл??????
Использовать другой, "безопасный" алгоритм?
← →
^Sanya (2002-10-07 16:23) [4]второй вопрос закрыт, разобралсся...
а вот первый.....?
Я бы PChar не юзал, но мне поручили.... вот, хочу доказать человеку, что в данном случае использовать PChar- нецелесообразно!
← →
Демонов Е.В. (2002-10-07 16:29) [5]^Sanya
>>А то бывают странные глюки при записи шифрованной(XOR"ом) строки в файл...
А что за глюки - если в текстовый файл писать?
>>второй вопрос закрыт, разобралсся...
Ну так поделись как...
← →
MBo (2002-10-07 16:49) [6]>^Sanya
Память, доступная программе - 2 Гигабайта.
← →
Демонов Е.В. (2002-10-07 16:51) [7]MBo
>>Память, доступная программе - 2 Гигабайта
А не 4 ли?
← →
MBo (2002-10-07 17:02) [8]>А не 4 ли?
2 гига - АП, занятое системой.
← →
Romkin (2002-10-07 17:06) [9]PChar ограничен лишь ресурсами компа - фигушки, не более 2Гб
у PChar - точно такое же ограничение, как и у string (указатель-то 32 бита, дальше 2Гб не прыгнешь (знаковое целое)), и ansistring полностью совместим с PChar, отличие - только в префиксе в 8 байт (4 байта - длина, 4 - кол-во копий), так что string использовать выгоднее, чем PChar, Length выдает результат мгновенно, без прохода по строке до #0 (а это часто используется, хотя бы для проверки параметров, (например, в Pos))
Итак, string по сравнению с PChar
Недостаток: лишних 8 байт памяти (вас это тревожит?)
Плюсы:
- автоматический менеджмент занимаемой памяти (вышло из границы видимости - память освобождается)
- длина строки хранится отдельно (и в string могут быть символы #0 в середине, правда, при преобразовании PChar(s) - ессно, будет читаться до первого #0)
Физически переменная типа string - указатель на первый символ строки, и заканчивается #0 (length выдает длину без учета концевого #0) - т.е. структура та же, что и у PChar. Дополнительные поля: pointer(StringVar) - 4: длина строки (4 байта) pointer(StringVar) - 8: кол-во использований (при достижении 0 - память освобождается)
2Демонов Е.В. - 2Гб - память для данных, и 2 Гб предоставляется для кода
← →
^Sanya (2002-10-07 21:25) [10]
> Демонов Е.В. © (07.10.02 16:29)
Делюсь:
а) шифрую некую строку, добавляю в Memo.
б) получаю жуткую смесь различных символов(в том числе системных)
в) копирую получившуюся строку в буфер обмена и вставляю её в Edit
г) вставляю из буфера в Edit и вижу, что вставлен лишь "обрубок" строки
Вывод: -> где-тов шифре попался системный символ конца строки.
← →
^Sanya (2002-10-07 21:27) [11]Большое спасибо Роману Игнатьеву (Romkin) за разъяснения.
← →
Dimedrol (2002-10-07 22:06) [12]Вообще-то очень многие алгоритмы шифорвания
в конце своей работы, по результату проходятся
еще и BASE64 алгоритмом, чтобы исключить
всевозможные системные символы.
Весьма полезная вешь.
← →
cypher (2002-10-07 23:44) [13]Да фигня это шифрование...
меняй 4ый символ с первым, второй с третим.... криптостойкость такая же как и у xor... кому нада - за две минуты просекут, а кому нет, тот и не полезет...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c