Форум → Программирование → Пыхнуть хотите? → Готовые решения → Небольшой класс-обёртка для шифрования и кодирования
Небольшой класс-обёртка для шифрования и кодирования
Страницы: ← Предыдущая страница • Следующая страница →
-
14 сентября 2010 г. 22:47, спустя 8 минут 41 секунду
Ну хватит, реально. Хватит меня троллить, мне конечно приятно, но настроения нет. =) -
15 сентября 2010 г. 2:16, спустя 3 часа 29 минут 2 секунды
<?php
// Конфиг
class MAIN
{
protected static $crypt_config = array('algorithm' => MCRYPT_BLOWFISH, 'mode' => MCRYPT_MODE_ECB, 'key' => 'crypt_key');
}
// Шифровалка/кодировалка
class CRYPT extends MAIN
{
private static $resource;
public static function encrypt($str)
{
self::$resource = mcrypt_module_open(parent::$crypt_config['algorithm'], null, parent::$crypt_config['mode'], null);
mcrypt_generic_init(self::$resource, parent::$crypt_config['key'], mcrypt_create_iv(mcrypt_enc_get_iv_size(self::$resource), MCRYPT_RAND));
$encrypt_string = mcrypt_generic(self::$resource, $str);
mcrypt_generic_deinit(self::$resource);
mcrypt_module_close(self::$resource);
return $encrypt_string;
}
public static function decrypt($str)
{
self::$resource = mcrypt_module_open(parent::$crypt_config['algorithm'], null, parent::$crypt_config['mode'], null);
mcrypt_generic_init(self::$resource, parent::$crypt_config['key'], mcrypt_create_iv(mcrypt_enc_get_iv_size(self::$resource), MCRYPT_RAND));
$decrypt_string = mdecrypt_generic(self::$resource, $str);
mcrypt_generic_deinit(self::$resource);
mcrypt_module_close(self::$resource);
return rtrim($decrypt_string);
}
}
// Шифровалка/кодировалка 2
class CRYPT2 extends MAIN
{
private static $resource = null;
private static function up_resource()
{
if(!self::$resource)
{
self::$resource = mcrypt_module_open(parent::$crypt_config['algorithm'], null, parent::$crypt_config['mode'], null);
mcrypt_generic_init(self::$resource, parent::$crypt_config['key'], mcrypt_create_iv(mcrypt_enc_get_iv_size(self::$resource), MCRYPT_RAND));
}
}
public static function encrypt($str)
{
self::up_resource();
return mcrypt_generic(self::$resource, $str);
}
public static function decrypt($str)
{
self::up_resource();
return rtrim(mdecrypt_generic(self::$resource, $str));
}
}
// Тест
$crypt_time = 0;
$crypt2_time = 0;
for($i=0; $i<100; $i++)
{
$str = uniqid();
$crypt_before = microtime(true);
//echo "Encrypted '".$str."': ".($strd = CRYPT::encrypt($str))."<br>";
//echo "Decrypted '".$str."': ".CRYPT::decrypt($strd)."<br>";
$str = CRYPT::encrypt($str);
$str = CRYPT::decrypt($str);
$crypt_time += (microtime(true)-$crypt_before);
$crypt2_before = microtime(true);
//echo "Encrypted '".$str."': ".($strd = CRYPT2::encrypt($str))."<br>";
//echo "Decrypted '".$str."': ".CRYPT2::decrypt($strd)."<br>";
$str = CRYPT2::encrypt($str);
$str = CRYPT2::decrypt($str);
$crypt2_time += (microtime(true)-$crypt2_before);
}
echo 'CRYPT time: '.$crypt_time.'<br>CRYPT2 time: '.$crypt2_time;
/*
CRYPT time: 0.087938785552979
CRYPT2 time: 0.0024271011352539
Я в ахуе… С увеличением кол-ва итераций всё ещё наглядней. Надеюсь нигде не накосячил.
*/
?> -
-
15 сентября 2010 г. 2:22, спустя 1 минуту 27 секунд
NRG, прогони у себя код. Посмотрим чья тачка быстрей =) -
15 сентября 2010 г. 12:17, спустя 9 часов 54 минуты 12 секунд
Hight, заинтриговал)))
вечерком дома прогоню тесты =) -
15 сентября 2010 г. 12:55, спустя 37 минут 54 секунды
поставил себе закладку. вдруг это хорошая тема?ιιlllιlllι унц-унц -
15 сентября 2010 г. 13:03, спустя 8 минут 11 секунд
idea! захуячить в непрочитанных приоритетность (как в гмаил ввели функцию). Закон пыхи знаю :) Седня вечером прикину как сделать и начну делать ))
поставил себе закладку. вдруг это хорошая тема? -
15 сентября 2010 г. 13:04, спустя 1 минуту 32 секунды
так а смысл? один хуй пыха будет на пайтоне переписываться как я понял -
15 сентября 2010 г. 13:05, спустя 52 секунды
ага, но алгоритмы можно и там применить)
так а смысл? один хуй пыха будет на пайтоне переписываться как я понялhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
15 сентября 2010 г. 13:12, спустя 7 минут 11 секунд
т
на питон переход будет не по схеме -> готово! ВСЕ БЫСТРБЛЕАТЬТУДА!, а плавно, вначале тест(на саб домене, как я понял) основных функций, потом допиливание, снова тест и так далее, на сколько я понял Эдво :)Спустя 85 сек.
+1
ага, но алгоритмы можно и там применить)
так а смысл? один хуй пыха будет на пайтоне переписываться как я понял -
15 сентября 2010 г. 13:33, спустя 20 минут 32 секунды
mario, ага, все такhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
15 сентября 2010 г. 16:11, спустя 2 часа 38 минут 8 секунд
Все готовы учить питон?)))Спустя 20 сек.Или все уже начали, один я отсталый?) -
15 сентября 2010 г. 16:16, спустя 5 минут 21 секунду
SpartakuS, я еще php не выучил, какой бля питон… -
-
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!