- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
function
enc($str,$k)//$str - входная строка, $k - ключ от 0 до f
{
$m=floor(strlen($str)/2);
$a=strrev(substr($str,0,$m));
$b=strrev(substr($str,$m));
$c=$a.$b;
$s=bin2hex($c);
switch($k)
{
case '0':$c0='h';$c1='y';$c2='j';$c3='z';$c4='i';$c5='g';$c6='x';$c7='k';$c8='s';$c9='w';$ca='p';$cb='l';$cc='q';$cd='m';$ce='v';$cf='t';break;
case '1':$c0='u';$c1='k';$c2='x';$c3='m';$c4='s';$c5='w';$c6='r';$c7='z';$c8='q';$c9='t';$ca='g';$cb='v';$cc='o';$cd='y';$ce='n';$cf='i';break;
case '2':$c0='i';$c1='u';$c2='n';$c3='k';$c4='y';$c5='x';$c6='o';$c7='m';$c8='q';$c9='s';$ca='g';$cb='v';$cc='w';$cd='r';$ce='t';$cf='z';break;
case '3':$c0='k';$c1='j';$c2='z';$c3='x';$c4='q';$c5='s';$c6='n';$c7='i';$c8='l';$c9='r';$ca='g';$cb='p';$cc='w';$cd='y';$ce='v';$cf='m';break;
case '4':$c0='m';$c1='g';$c2='p';$c3='t';$c4='i';$c5='l';$c6='r';$c7='s';$c8='n';$c9='q';$ca='k';$cb='j';$cc='h';$cd='u';$ce='z';$cf='v';break;
case '5':$c0='q';$c1='i';$c2='u';$c3='z';$c4='t';$c5='n';$c6='k';$c7='r';$c8='w';$c9='y';$ca='x';$cb='v';$cc='g';$cd='o';$ce='m';$cf='s';break;
case '6':$c0='s';$c1='l';$c2='h';$c3='i';$c4='t';$c5='k';$c6='r';$c7='q';$c8='o';$c9='v';$ca='w';$cb='x';$cc='n';$cd='u';$ce='p';$cf='j';break;
case '7':$c0='s';$c1='j';$c2='l';$c3='p';$c4='u';$c5='h';$c6='i';$c7='n';$c8='x';$c9='t';$ca='k';$cb='w';$cc='v';$cd='r';$ce='q';$cf='o';break;
case '8':$c0='o';$c1='s';$c2='q';$c3='j';$c4='l';$c5='r';$c6='v';$c7='p';$c8='u';$c9='w';$ca='h';$cb='k';$cc='t';$cd='i';$ce='x';$cf='n';break;
case '9':$c0='v';$c1='h';$c2='t';$c3='y';$c4='j';$c5='m';$c6='q';$c7='z';$c8='i';$c9='l';$ca='p';$cb='g';$cc='x';$cd='w';$ce='s';$cf='k';break;
case 'a':$c0='k';$c1='v';$c2='h';$c3='s';$c4='t';$c5='w';$c6='x';$c7='y';$c8='j';$c9='g';$ca='p';$cb='m';$cc='q';$cd='l';$ce='z';$cf='i';break;
case 'b':$c0='i';$c1='k';$c2='z';$c3='v';$c4='h';$c5='l';$c6='q';$c7='s';$c8='t';$c9='m';$ca='p';$cb='w';$cc='x';$cd='g';$ce='j';$cf='y';break;
case 'c':$c0='y';$c1='i';$c2='k';$c3='j';$c4='z';$c5='g';$c6='v';$c7='x';$c8='h';$c9='w';$ca='p';$cb='l';$cc='q';$cd='m';$ce='t';$cf='s';break;
case 'd':$c0='s';$c1='y';$c2='t';$c3='i';$c4='k';$c5='m';$c6='j';$c7='q';$c8='l';$c9='z';$ca='g';$cb='p';$cc='w';$cd='v';$ce='h';$cf='x';break;
case 'e':$c0='u';$c1='z';$c2='o';$c3='k';$c4='q';$c5='j';$c6='t';$c7='i';$c8='w';$c9='g';$ca='x';$cb='p';$cc='m';$cd='n';$ce='r';$cf='l';break;
case 'f':$c0='l';$c1='u';$c2='r';$c3='z';$c4='o';$c5='n';$c6='m';$c7='k';$c8='q';$c9='p';$ca='x';$cb='j';$cc='t';$cd='g';$ce='w';$cf='i';break;
}
$f=str_replace('0',$c0,$s);
$f=str_replace('1',$c1,$f);
$f=str_replace('2',$c2,$f);
$f=str_replace('3',$c3,$f);
$f=str_replace('4',$c4,$f);
$f=str_replace('5',$c5,$f);
$f=str_replace('6',$c6,$f);
$f=str_replace('7',$c7,$f);
$f=str_replace('8',$c8,$f);
$f=str_replace('9',$c9,$f);
$f=str_replace('a',$ca,$f);
$f=str_replace('b',$cb,$f);
$f=str_replace('c',$cc,$f);
$f=str_replace('d',$cd,$f);
$f=str_replace('e',$ce,$f);
$f=str_replace('f',$cf,$f);
return $f;
}
"От SQL иньекции проще простого защиться при помощи шифрования входных данных перед вставкой их в запрос к базе данных...И не надо ничего мудрить со специальными функциями....И соответственно в базе данные будут храниться в зашифрованном виде...Пример функции для кодирования:"
Отрыто в комментариях к статье, рассказывающей о встроенных в php алгоритмах шифрования.
А ведь это лишь функция для шифровки. Есть еще и для дешифровки. Даже для говнокода многовато букавок. (:
bormand 29.12.2014 07:34 # +2
bormand 29.12.2014 07:37 # 0
Ключ длиной аж в 4(!) бита тоже порадовал.
inkanus-gray 29.12.2014 07:52 # +2
huinday
> аж в 4(!) бита
А ведь мог бы применить ключ длиной 3 бита. И... молчать, гусары!
Stallman 29.12.2014 14:23 # +1
inkanus-gray 29.12.2014 08:04 # +5
Stallman 30.12.2014 12:59 # +1
Vasiliy 30.12.2014 19:50 # 0
heyzea1 29.12.2014 12:23 # 0
Stallman 29.12.2014 14:26 # +1
А фильтровать эти данные потом вобще одно сплошное удовольствие.
Stallman 29.12.2014 14:31 # +5
Программист: Ок, сейчас посмотрим, в чем проблема...
sysctl 29.12.2014 16:14 # +2
Хорошо отформатированно, ровно.
gost 29.12.2014 19:19 # +1
Dummy00001 29.12.2014 21:47 # 0
bormand 29.12.2014 22:06 # +1
Вообще для экранирования кавычек, я рекомендую использовать функции драйверов Базы Данных.
Dummy00001 29.12.2014 22:45 # +2
wvxvw 29.12.2014 23:09 # +2
Dummy00001 29.12.2014 23:25 # +1
мля и почему я на секунду сомневался что линух это может?
bormand 30.12.2014 07:28 # +1
А ведь оперативка дешевле, чем видеокарта с джвумя гигами на борту...
chtulhu 30.12.2014 09:23 # 0
Stallman 30.12.2014 11:44 # 0
bormand 30.12.2014 14:57 # 0
3.14159265 30.12.2014 15:01 # 0
bormand 30.12.2014 15:04 # 0
P.S. Латентси у видюхи всяко на порядки меньше, чем у флешек, винтов и даже SSD.
3.14159265 30.12.2014 15:09 # 0
>Я вот только не понял, какого хуя ее в сервер воткнули, если использовать не собираются...
но_зачем.жпег
bormand 30.12.2014 15:12 # 0
Ну у меня вот своп шифрованный, и разница совершенно незаметна (потому что 8 гигов памяти и своп почти никогда не юзается).
> но_зачем.жпег
Генту же. Кому еще нужны такие оптимизации...
3.14159265 30.12.2014 15:34 # 0
Ааа. Проебал этот момент. Тогда всё ясно.
Но ставить генту на сервер это лютый мазохизм.
Dummy00001 30.12.2014 17:23 # 0
а сейчас видео ставят для GPU акселерации и прочего.
учитывая что линух может чего в свап просто так отложить (на большинстве моих систем 20-30МБ свопа всегда используется) то даже 64МБ недискового свопа могут чуток производительности помочь.
bormand 30.12.2014 18:47 # 0
И юзал основную память для своих нужд. На такой не посвопуешься.
> для GPU акселерации
Дело в том, что если GPU акселерация используется, вся эта петушня со свопом на видюху уже не заработает. По крайней мере в описанном варианте. Если через какие-нибудь CUDA или OpenCL массив выделять, а потом только его юзать как своп - может быть и проканает.
> 20-30МБ свопа всегда используется
> даже 64МБ недискового свопа могут чуток производительности помочь
Да и хер с ними. Лежат, никому не мешают. Скорее всего эти 20-30 мег никто никогда уже не прочитает. В целом - не так страшен своп, как i/o в него. И если интенсивное i/o уже началось - тут 64 метрами не отмашешься, надо или память докупать или проги урезать.
Dummy00001 30.12.2014 19:05 # 0
> Дело в том, что если GPU акселерация используется, вся эта петушня со свопом на видюху уже не заработает.
некоторые драйвера поддерживают ограничение количества видео памяти, через опцию в x.conf'ве.
https://wiki.archlinux.org/index.php/swap_on_video_ram#Xorg_driver_config
в старые времена даже nvidia эту опцию поддерживала: я слышал что народ ей пользовался для сильно оверклокнутых видеокард и некондиционых видеокарт с битой памятью.
bormand 30.12.2014 19:18 # 0
Makes sense...
> народ ей пользовался
А те, кому не везло, и битые байты оказывались в начале, тупо шли покупать новую карту или убирали оверклок... Русская рулетка какая-то, ей-богу.
guest 30.12.2014 19:38 # 0
chtulhu 30.12.2014 16:07 # 0
я подумал, что там использовалась vramfs
guest 30.12.2014 17:11 # 0