On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 1318
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.06.10 01:49. Заголовок: Беда с функцией AfterATNUM() ....


Делал обработку текстового файла (в конце строки всегда стоит CHR(13)+CHR(10) )

Не могу получить первую строку функцией AfterATNUM() .... Результирующий файл различается от входящего !
Может как нибудь по другому можно ?

Вот примерный текст программы: Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 52 , стр: 1 2 3 All [только новые]


постоянный участник




Пост N: 1335
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.06.10 23:45. Заголовок: Ладно, буду делать р..


Ладно, буду делать рабочий тест. А там поглядим....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 173
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 03.06.10 20:54. Заголовок: Еще вариант. Зашифро..


Еще вариант. Зашифрованный текст ( в данном случае разборка на строки не нужна) кодируем типа как почтовые программы. Или в цифры, как ниже: ( код на Паскале)
function Koder(s: string): string;
var
i: integer;
t: string;
begin
for i:=1 to Length(s) do begin
t:=t+inttostr((ord(s[ i ])*2-100)*3)+' ';
end;
Result:=t;
end;
//******************************************************************
function Dekoder(s: string): string;
var
i,a: integer;
t,z: string;
begin
z:=' ';
a:=0;
for i:=1 to Length(s) do begin
if s[ i ]<>' ' then z:=z+s[ i ] else begin
a:=strtoint(z);
a:=round((a/3+100)/2);
t:=t+chr(a);
z:=' ';
a:=0;
end;
end;
Result:=t;
end;

Я в Делфях так делаю

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 189
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 04.06.10 08:42. Заголовок: Vlad04 пишет: t:=t+..


Vlad04 пишет:

 цитата:
t:=t+inttostr((ord(s)*2-100)*3)+' ';


Влад, у тебя там, видимо, "ord(s[ i ])*2..." должно быть (судя по тому, что начиная со скобки после "s" в посте все идет курсивом).

Обычная тут (в постах форума) ошибка (и у меня бывали) при наличии в коде работы с элементами массивов, где параметр цикла "i" (форумный движок воспринимает такое сочетание как тэг начала курсива)...

Надо просто внутри "[ ]" ставить в начале и конце пробелы, тогда в посте все нормально выглядит (да и "предпросмотр" - вещь полезная :) особенно когда сюда копипастить кусок кода).

Извиняюсь за "мелочные придирки" :) - просто иногда тяжело в большом куске кода бывает разобраться, просто скопипастив его из поста ("и чё оно не работает??.."), где потерялось "[ i ]".

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1712
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.06.10 10:12. Заголовок: gustow Поправил ...


gustow
Поправил .

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1713
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.06.10 10:23. Заголовок: Andrey Не пробовал ..


Andrey
Не пробовал вместо HB_CRYPT , HB_UUEncode (HB_UUDecode) ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1337
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.06.10 13:22. Заголовок: Dima пишет: Не проб..


Dima пишет:

 цитата:
Не пробовал вместо HB_CRYPT , HB_UUEncode (HB_UUDecode) ?



Нет, не пробовал. Посмотрю конечно. Спасибо.
Я понял, что Паша мне дал (ну заклинился на другом), сейчас это делаю ! Дошло наконец-то....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1339
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.06.10 16:55. Заголовок: ВОТ засада, то какая..


ВОТ засада, то какая !
Если удалить хоть один байт с ТАКОГО файла (что Паша предложил), то раскодировать этот файл больше нельзя !!!

И нафига такие заморочки с кодированием ?

Есть ли другие способы ?
Может заместо CHR(13)+CHR(10) взять разделитель типа [МояМетка] ?
Вероятность того, что при шифрации строк может получиться такая комбинация - равна 0 !!!




Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1719
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.06.10 16:59. Заголовок: Andrey пишет: Есть ..


Andrey пишет:

 цитата:
Есть ли другие способы ?


я же предлагал (на твоем примере не проверял).

Dima пишет:

 цитата:
Не пробовал вместо HB_CRYPT , HB_UUEncode (HB_UUDecode) ?




Спасибо: 1 
ПрофильЦитата Ответить
Администратор




Пост N: 1474
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.06.10 18:48. Заголовок: Andrey пишет: ВОТ з..


Andrey пишет:

 цитата:
ВОТ засада, то какая !
Если удалить хоть один байт с ТАКОГО файла (что Паша предложил), то раскодировать этот файл больше нельзя !!!

И нафига такие заморочки с кодированием ?

Есть ли другие способы ?
Может заместо CHR(13)+CHR(10) взять разделитель типа [МояМетка] ?
Вероятность того, что при шифрации строк может получиться такая комбинация - равна 0 !!!



Чем больше символов содержит разделитель, тем меньше вероятность того, что он случайно будет содержаться в результате криптофункции. Так что это тоже вариант, хоть и не железный. А вариант с длиной строки - железобетонный Ж)
А насчет удаления одного байта: надо тогда сформулировать, в чем заключается задача. Пользователь не должен видеть логи, но может захотеть их "испортить" ? Испортить файл с длиной строки и шифрованной строкой действительно можно удалением одного байта. Если шкодник захочет испортить файл с разделителем - он может стереть его содержимое. Помешать ему нельзя.
Можно лишь фиксировать сам факт вмешательства - например, всегда дописывать в конец файла значение хэш, или, на худой конец, crc32


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1721
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.06.10 19:58. Заголовок: Pasha пишет: А насч..


Pasha пишет:

 цитата:
А насчет удаления одного байта: надо тогда сформулировать, в чем заключается задача


+1

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1342
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.06.10 20:23. Заголовок: Задача: Хочу в лог-ф..


Задача:
Хочу в лог-файл добавлять данные, но чтоб пользователь не мог видеть и править их.
Вариант удаления файла не рассматриваю, не важен пока.
Если кто-то попортит файл, то хотелось бы вытащить оставшиеся данные.
Т.е. шифрация всего файл-лога тоже не прокатывает, т.к. урезание нескольких байтов приведет к невозможности расшифровки всего остального файла.

Вот и вся задача.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1722
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.06.10 20:37. Заголовок: Andrey Ну прячь его..


Andrey
Ну прячь его где то подальше. Имя файлу придумай такое что бы ни ХТО не догадался ;)
Как вариант можно лог в Zip архив запихать с паролем , правда тут придется подумать как лучше это сделать.
Испортить зловред может ведь не только лог файл но и базу...


PS
Однако вумные юзеры у тебя.

Спасибо: 1 
ПрофильЦитата Ответить
Ответов - 52 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 16
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет