scorpion-ds
Новичок
В проекте надо хранить пароли от ресурсов в БД, так как тут хэш-кодом не обойтись и логин/пароль надо получать в исходном виде, стал использовать в проекте mcrypt.
Для свои целей написал простейший класс, который шифрует и дешифрует строки, при написании использовал мануалы с Инета, так что комменты могут быть кому-то знакомы:
Если в конструкторе я использую:
$this->iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($this->resource), MCRYPT_DEV_RANDOM);
то скрипт с невероятной силой начинает тормозить, если использую параметр MCRYPT_DEV_URANDOM, то на первый взгляд работает быстро. Причем на локальной машине все работает нормально, а вот на хостинг площадке тормозит.
Подскажите, это сам по себе модуль тяжелый или, что-то не так с настройками сервера? Интересует в первую очередь быстродействие, ради этого можно даже пароли хранить в открытом виде (защищать тогда будем FTP сервера, к примеру что учетка от сайта работает только с IP-сервера сайта).
P.S.: Хостинг я использую 1Gb.ua (VDS).
Для свои целей написал простейший класс, который шифрует и дешифрует строки, при написании использовал мануалы с Инета, так что комменты могут быть кому-то знакомы:
PHP:
class CSCrypted {
private $resource;
private $iv;
private $ks;
private $key;
function __construct() {
$this->resource = mcrypt_module_open(MCRYPT_3DES, '', MCRYPT_MODE_ECB, '');
/* Создать IV и определить длину keysize */
$this->iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($this->resource), MCRYPT_DEV_URANDOM);
$this->ks = mcrypt_enc_get_key_size ($this->resource);
$this->key = substr (md5 (_system_code), 0, $this->ks);
}
/**
* Кодирует строку
* @param string $string
*/
public function encodeString($string) {
return $string;
if($string == '')
return FALSE;
/* Инициализировать шифрование */
mcrypt_generic_init ($this->resource, $this->key, $this->iv);
/* Шифровать данные */
$encrypted = mcrypt_generic ($this->resource, $string);
/* Закрыть дескриптор шифрования */
mcrypt_generic_deinit ($this->resource);
return $encrypted;
}
/**
* Декодирует строку
* @param string $encrypted
*/
public function decodeString($encrypted) {
return $encrypted;
if($encrypted == '')
return FALSE;
/* Инициализировать модуль шифрования для дешифрования */
mcrypt_generic_init ($this->resource, $this->key, $this->iv);
/* Дешифровать шифрованную строку */
$decrypted = mdecrypt_generic ($this->resource, $encrypted);
/* Закрыть дескриптор дешифрования и закрыть модуль */
mcrypt_generic_deinit ($this->resource);
return $decrypted;
}
function __destruct() {
mcrypt_module_close ($this->resource);
}
}
$this->iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($this->resource), MCRYPT_DEV_RANDOM);
то скрипт с невероятной силой начинает тормозить, если использую параметр MCRYPT_DEV_URANDOM, то на первый взгляд работает быстро. Причем на локальной машине все работает нормально, а вот на хостинг площадке тормозит.
Подскажите, это сам по себе модуль тяжелый или, что-то не так с настройками сервера? Интересует в первую очередь быстродействие, ради этого можно даже пароли хранить в открытом виде (защищать тогда будем FTP сервера, к примеру что учетка от сайта работает только с IP-сервера сайта).
P.S.: Хостинг я использую 1Gb.ua (VDS).