Методы шифрования файлов Php. Что-то простое существуют?

Вы можете попробовать это

SUM(CASE WHEN CHARINDEX(AREAS.RA_NAME, AD_Results.[Parent Container]) > 0 THEN 1 ELSE 0 END) AS  RA_AD_Objects
7
задан Benjamin 18 February 2014 в 12:07
поделиться

4 ответа

Посмотрите на пакеты шифрования PEAR . Они не все полагаются на mcrypt - например, Crypt_Blowfish .

6
ответ дан 7 December 2019 в 18:45
поделиться

Если вы не возражаете против установки расширения mcrypt, этот код должен сделать это:

function Encrypt($string, $key)
{
    if (extension_loaded('mcrypt') === true)
    {
        return base64_encode(mcrypt_encrypt(MCRYPT_BLOWFISH, substr($key, 0, mcrypt_get_key_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB)), trim($string), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB), MCRYPT_RAND)));
    }

    return false;
}

function Decrypt($string, $key)
{
    if (extension_loaded('mcrypt') === true)
    {
        return trim(mcrypt_decrypt(MCRYPT_BLOWFISH, substr($key, 0, mcrypt_get_key_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB)), base64_decode($string), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB), MCRYPT_RAND)));
    }

    return false;
}

function Encrypt_File($source, $destination, $key)
{
    if (extension_loaded('mcrypt') === true)
    {
        if (is_file($source) === true)
        {
            $source = file_get_contents($source);

            if (file_put_contents($destination, Encrypt($source, $key), LOCK_EX) !== false)
            {
                return true;
            }
        }
    }

    return false;
}

function Decrypt_File($source, $destination, $key)
{
    if (extension_loaded('mcrypt') === true)
    {
        if (is_file($source) === true)
        {
            $source = file_get_contents($source);

            if (file_put_contents($destination, Decrypt($source, $key), LOCK_EX) !== false)
            {
                return true;
            }
        }
    }

    return false;
}
2
ответ дан 7 December 2019 в 18:45
поделиться

как насчет простого xor?

function Crypt($source, $key)
{
 $rv='';
 for($i=0;$i<strlen($source);$i++)
 {
  $rv.=chr(ord($source[$i]) ^ ord($key[$i%strlen($key)]));
 }
 return $rv;
}

=> Crypt (Crypt ('aaa', 'key'), 'key') возвращает 'aaa'.

EDIT: конечно, Вы должны использовать

file_put_contents(Crypt(file_get_contents('file'), 'key'));

для чтения и записи файлов:]

-3
ответ дан 7 December 2019 в 18:45
поделиться

Исправлена ​​функция Crypt () Йоссариана:

function _Crypt($source, $key)
{
    $result = '';

    for($i = 0; $i < strlen($source); $i++)
    {
        $result .= chr(ord($source[$i]) ^ ord($key[$i % strlen($key)]));
    }

    return $result;
}

_Crypt('aaa', 'key'); // 
_Crypt(_Crypt('aaa', 'key'), 'key'); // aaa
-3
ответ дан 7 December 2019 в 18:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: