Новые книги

Продавать услуги не сложнее, чем товары – нужно только знать как. В условиях жесткой конкурентной борьбы продавцу нужно постоянно осваивать новые методы работы. И чем необычнее они будут, тем больше прибыли принесут. В век серьезной конкуренции и корпоративных войн за клиентов книга Мурата Тургунова послужит пошаговым руководством к тому, чтобы не только не проиграть своим конкурентам, но и выйти из борьбы победителем, одновременно делая своих клиентов намного успешнее.

Эта книга, основанная на многолетнем личном опыте автора в продажах В2В и В2С, расскажет не только о специфике продажи сложных профессиональных услуг (финансовых, медицинских, транспортных и многих других). Она содержит минимум теории и максимум практических примеров, которые гарантированно помогут вам увеличить свои личные продажи.

Книга будет полезна менеджерам и руководителям отделов продаж, коммерческим директорам и всем, кто связан с продажами профессиональных услуг: консалтинговых, финансовых, аудиторских, юридических; образовательных, медицинских и в сфере недвижимости; IT, телекоммуникационных и информационных; туристических, охранных, клининговых и многих других.
Информационные технологии сегодня это уже давно не таинственные сакральные знания, доступные только немногим избранным. Сегодня это массовый товар, предлагаемый множеством продавцов. Но как сделать правильный выбор, если вы не компьютерный гуру, а всего лишь владелец или управляющий среднего бизнеса, задумавшийся об увеличении его эффективности и управляемости? Как найти ответ на этот вопрос для предприятий малого и среднего бизнеса, где западные рецепты уже плохо работают, а отечественный опыт еще не обобщен...

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

В основе книги опыт трех компаний, внедривших у себя SAP Business One. Их сомнения, желания, процесс внедрения и достигнутые результаты. Этот опыт, пропущенный через призму собственного понимания автора, известного в компьютерном мире специалиста в области компьютерной аналитики, превратился в простую, увлекательную и веселую книгу прочитав которую, вы избегнете множества типичных ошибок и сможете автоматизировать собственную компанию, по возможности перешагивая через уже известные вам грабли.

mdecrypt_generic

Учебник РНР
Назад Вперёд

mdecrypt_generic

(PHP 4 >= 4.0.2)

mdecrypt_generic - эта функция дешифрует данные.

Описание

string mdecrypt_generic (resource td, string data)

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

Пример 1. mdecrypt_generic()
<?php
    /* Данные */
    $key = 'this is a very long key, even too long for the cipher';
    $plain_text = 'very important data';
   
    /* Открывает модуль и создаёт IV */ 
    $td = mcrypt_module_open ('des', '', 'ecb', '');
    $key = substr ($key, 0, mcrypt_enc_get_key_size ($td));
    $iv_size = mcrypt_enc_get_iv_size ($td);
    $iv = mcrypt_create_iv ($iv_size, MCRYPT_RAND);

    /* Инициализирует дескриптор шифрования */
    if (mcrypt_generic_init ($td, $key, $iv) != -1) {

        /* Шифрует данные */
        $c_t = mcrypt_generic ($td, $plain_text);
        mcrypt_generic_deinit ($td);

        /* Реинициализирует буферы для дешифрования */
        mcrypt_generic_init ($td, $key, $iv);
        $p_t = mdecrypt_generic ($td, $c_t);

        /* Зачистка */
        mcrypt_generic_deinit ($td);
        mcrypt_module_close ($td);
    }

    if (strncmp ($p_t, $plain_text, strlen($plain_text)) == 0) {
        echo "ok\n";
    } else {
        echo "error\n";
    }
?>

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

Дескриптор дешифровки должен всегда инициализироваться функцией mcrypt_generic_init() с ключом и IV до вызова этой функции. После выполнения шифрования вы должны освободить буферы шифрования вызовом mcrypt_generic_deinit(). См. пример в mcrypt_module_open().

См. также mcrypt_generic(), mcrypt_generic_init() и mcrypt_generic_deinit().


Назад Оглавление Вперёд
mcrypt_ofb ВверхФункции Mhash