Новые книги

Эта книга – попытка комплексного взгляда на то, как должна строиться система взаимоотношений компании и клиента. На основании своего двадцатилетнего опыта авторы рассказывают о том, что нужно компании знать о своих клиентах, как получать эту информацию, как добиваться клиентской лояльности, как правильно управлять точками клиентского обслуживания и контакт-центрами, какие инструменты необходимо использовать, чтобы клиентский сервис был максимально эффективным.
Слово криптография означает тайнопись.

Российская криптография имеет многовековую историю, начинающуюся с указов Петра I о «черных кабинетах». До середины 80-х годов XX века криптография в России использовалась только для военных, дипломатических и правительственных линий связи и была строго засекречена. Даже употребление слов «криптография», «шифры», «ключи к шифрам» в открытых публикациях было недопустимо. Но в мире быстро назревала потребность в гражданской криптографии, стремительно развивались информационные технологии, стали появляться компьютерные сети, Интернет, денежные электронные расчеты. Для этого требовались надежные и общедоступные криптографические методы защиты информации.

Была ли Россия готова к появлению гражданской криптографии? И да, и нет.

Да, потому что еще с советских времен в России существовала прекрасная криптографическая школа и высококлассные специалисты-криптографы, которые долгое время на равных конкурировали с американским Агентством Национальной Безопасности и обеспечивали гарантированную защиту военных, дипломатических и правительственных линий связи.

Нет, потому что синдром тотальной секретности всего, что касалось криптографии, восходил к сталинским временам и мало изменился за прошедшие десятилетия. А в подобных условиях очень хорошо себя чувствуют многочисленные чиновники от криптографии.

В 1992 году случился кризис: поток фальшивых авизо захлестнул Центральный Банк России и грозил обрушить всю финансовую систему. Потребовалась срочная помощь криптографов: в кратчайшие сроки создать, наладить и запустить в эксплуатацию систему криптографической защиты телеграфных и почтовых авизо в такой огромной структуре, как ЦБ РФ.

Эта задача была выполнена за три месяца – неимоверно короткий срок.

В России появился первый реальный пример гражданской криптографии.

О том, что представляла из себя советская криптографическая школа, о ее специалистах и начальниках, о царившей тогда в стране атмосфере, о том, как была создана система защиты для Центрального Банка России, и, наконец, о том, почему же в России так трудно пробивает себе дорогу гражданская криптография – в этой книге.

Содержание

Содержание
gzclose
gzeof
gzfile
gzgetc
gzgets
gzgetss
gzopen
gzpassthru
gzputs
gzread
gzrewind
gzseek
gztell
readgzfile
gzwrite

Этот модуль использует функции библиотеки zlib >= 1.0.9 (http://www.cdrom.com/pub/infozip/zlib/) авторов Jean-loup Gailly и Mark Adler для прозрачного чтения и записи в gzip (.gz) сжатые файлы.


gzclose

gzclose -- закрывает открытый указатель gz-файла
Описание

int gzclose(int zp);

Закрывает gz-файл, указанный в переменной gz.

Возвращает true при успехе и false при ошибке.

Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().


gzeof

gzeof -- проверяет достигнут ли конец файла указателя gz-файла
Описание
int gzeof(int zp);

Возвращает true, если указатель gz-файла на метке EOF или произошла ошибка, в обратном случае возвращает false.

Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().


gzfile

gzfile -- читает весь gz-файл в массив
Описание
array gzfile(string filename);

Функция идентична readgzfile(), кроме того, что gzfile() возвращает файл в массив.

См. также readgzfile(), и gzopen().


gzgetc

gzgetc -- возвращает символ из указателя gz-файла
Описание
string gzgetc(int zp);

Возвращает строку, содержащую один (несжатый) символ, читаемый из файла, определяемого переменной zp. Возвращает FALSE при достижении EOF (как это делает gzeof()).

Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().

См. также gzopen(), и gzgets().


gzgets

gzgets -- Считывает строку из указателя файла
Описание
string gzgets(int zp, int length);

Возвращает строку (не сжатую) длиной от начала файла до length-1 из файла , определяемого zp. Чтение заканчивается при достижении длины length-1, при начале новой строки или при EOF (что произойдет раньше).

При ошибке возвращает false.

Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().

См. также gzopen(), и gzgetc().


gzgetss

gzgetss -- Считывает строку из указателя файла и обрезает HTML-теги
Описание
string gzgetss(int zp, int length);

Идентична gzgets(), кроме того, что gzgetss пытается обрезать любые HTML и PHP теги из считываемого текста.

См. также gzgets(), и gzopen().


gzopen

gzopen -- открывает gz-файл
Описание
int gzopen(string filename, string mode);

Открывает gzip (.gz) файл для чтения или записи. Параметр режима такой же как и у fopen() ("rb" или "wb"), но также может включать степень сжатия ("wb9"), или стратегию: 'f' для фильтрованных данных как в "wb6f", 'h' для компрессии только по Хаффману как в "wb1h" (См. описание deflateInit2 в zlib.h для более подробной информации и параметрах стратегии).

Gzopen может использоваться для чтения файла, который не в gzip формате. В этом случае gzread() будет напрямую читать из файла без декомпрессии.

Gzopen возвращает указатель на открытый файл, после чего все, что вы читаете из этого дескриптора файла будет декомпрессироваться, и все что вы записываете - сжиматься.

При ошибке в открытии файла функция вернет false.

Пример 1. gzopen()

$fp = gzopen("/tmp/file.gz", "r");

См. также gzclose().


gzpassthru

gzpassthru -- Выводит все оставшиеся данные в указателе gz-файла
Описание
int gzpassthru(int zp);

Считывает все до EOF указателя gz-файла и выводит прочитанные данные (несжатые) в стандартный вывод.

Если произойдет ошибка, то функция вернет false.

Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().

gz-файл будет закрыт, когда gzpassthru() закончит его считывать (оставляя zp возможным для использования).


gzputs

gzputs -- записывает в указатель gz-файла
Описание
int gzputs(int zp, string str, int [length]);

gzputs() является псевдонимом для функции gzwrite(), и полностью ей идентична.


gzread

gzread -- Двоично-безопасное чтение из gz-файла
Описание
string gzread(int zp, int length);

gzread() читает length байтов из указателя gz-файла, определяемого zp. Чтение прекращается когда length байтов (несжатых) считываются или достигается EOF (что произойдет раньше).

// считывание содержимого gz-файла в строку
$filename = "/usr/local/something.txt.gz";
$zd = gzopen( $filename, "r" );
$contents = gzread( $zd, 10000 );
gzclose( $zd );
      

См. также gzwrite(), gzopen(), gzgets(), gzgetss(), gzfile(), и gzpassthru().


gzrewind

gzrewind -- перемешает позицию указателя gz-файла
Описание
int gzrewind(int zp);

Устанавливает индикатор позиции файла для zp на начало файлового потока.

При ошибке функция вернет 0.

Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().

См. также gzseek() and gztell().


gzseek

gzseek -- Сдвигает указатель gz-файла
Описание
int gzseek(int zp, int offset);

Сдвигает индикатор позиции файла, определяемого параметром zp, на offset в файловом потоке. Еквивалентна вызову (в С) функции gzseek( zp, offset, SEEK_SET ).

Если файл открыт для чтения, то эта функция эмулируется, но может быть очень медленной. Если файл открыт для записи, то поддерживается только сдвиг вперед; gzseek затем сжимает последовательность нулей до новой начальной позиции.

В случае успеха функция возвращает 0, в обратном случае - 1. Следует отметить, что достижение EOF не рассматривается как ошибка.

См. также gztell() and gzrewind().


gztell

gztell -- Возвращает позицию чтения/записи указателя gz-файла
Описание
int gztell(int zp);

Возвращает позицию указателя файла, определяемого параметром zp, т.е. его положение в файловом потоке.

При ошибке возвращается false.

Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().

См. также gzopen(), gzseek() and gzrewind().


readgzfile

readgzfile -- выводит gz-файл
Описание
int readgzfile(string filename);

Считывает файл, распаковывает его и выводит в стандартный поток вывода.

Readgzfile() может использоваться для чтения файла, который не в формате gzip. В этом случае readgzfile() будет сразу считывать файл, без докомпрессии.

Функция возвращает число байтов (несжатых), считанных из файла. При ошибке возвращается false и, если функция не вызывалась как @readgzfile, будет выведено сообщение об ошибке.

Файл с именем filename будет открыт в файловой системе и его содержимое будет выведено в стандартный поток вывода.

См. также gzpassthru(), gzfile(), и gzopen().


gzwrite

gzwrite -- Двоично-безопасная запись gz-файла
Описание
int gzwrite(int zp, string string, int [length]);

gzwrite() записывает содержимое строки string в поток gz-файла, определяемый параметром zp. Если параметр length указан, то запись будет прекращена после того, как length байтов (несжатых) будет записано или будет достигнут конец строки string, что раньше произойдет.

Следует отметить, что если параметр length указан, то параметр настройки magic_quotes_runtime будет игнорирован и пробелы не будут урезаны в строке string.

См. также gzread(), gzopen(), and gzputs().

Назад, к содержанию