- 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
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
<?php
function encrypt($str) {
$key = array();
$dst = array();
$i = 0;
$nBytes = strlen($str);
while ($i < $nBytes){
$i++;
$key[$i] = ord(substr($str, $i - 1, 1));
$dst[$i] = $key[$i];
}
$rslt = $key[1] + $key[2]*256 + $key[3]*65536 + $key[4]*16777216;
$one = $rslt * 213119 + 2529077;
$one = $one - intval($one/ 4294967296) * 4294967296;
$rslt = $key[5] + $key[6]*256 + $key[7]*65536 + $key[8]*16777216;
$two = $rslt * 213247 + 2529089;
$two = $two - intval($two/ 4294967296) * 4294967296;
$rslt = $key[9] + $key[10]*256 + $key[11]*65536 + $key[12]*16777216;
$three = $rslt * 213203 + 2529589;
$three = $three - intval($three/ 4294967296) * 4294967296;
$rslt = $key[13] + $key[14]*256 + $key[15]*65536 + $key[16]*16777216;
$four = $rslt * 213821 + 2529997;
$four = $four - intval($four/ 4294967296) * 4294967296;
$key[4] = intval($one/16777216);
$key[3] = intval(($one - $key[4] * 16777216) / 65535);
$key[2] = intval(($one - $key[4] * 16777216 - $key[3] * 65536) / 256);
$key[1] = intval(($one - $key[4] * 16777216 - $key[3] * 65536 - $key[2] * 256));
$key[8] = intval($two/16777216);
$key[7] = intval(($two - $key[8] * 16777216) / 65535);
$key[6] = intval(($two - $key[8] * 16777216 - $key[7] * 65536) / 256);
$key[5] = intval(($two - $key[8] * 16777216 - $key[7] * 65536 - $key[6] * 256));
$key[12] = intval($three/16777216);
$key[11] = intval(($three - $key[12] * 16777216) / 65535);
$key[10] = intval(($three - $key[12] * 16777216 - $key[11] * 65536) / 256);
$key[9] = intval(($three - $key[12] * 16777216 - $key[11] * 65536 - $key[10] * 256));
$key[16] = intval($four/16777216);
$key[15] = intval(($four - $key[16] * 16777216) / 65535);
$key[14] = intval(($four - $key[16] * 16777216 - $key[15] * 65536) / 256);
$key[13] = intval(($four - $key[16] * 16777216 - $key[15] * 65536 - $key[14] * 256));
$dst[1] = $dst[1] ^ $key[1];
$i=1;
while ($i<16){
$i++;
$dst[$i] = $dst[$i] ^ $dst[$i-1] ^ $key[$i];
}
$i=0;
while ($i<16){
$i++;
if ($dst[$i] == 0) {
$dst[$i] = 102;
}
}
$encrypt = "0x";
$i=0;
while ($i<16){
$i++;
if ($dst[$i] < 16) {
$encrypt = $encrypt . "0" . dechex($dst[$i]);
} else {
$encrypt = $encrypt . dechex($dst[$i]);
}
}
return $encrypt;}
antigovnokoder 06.04.2010 09:19 # +6
mrbig66 06.04.2010 09:56 # 0
bestxp 06.04.2010 09:28 # +3
guest 06.04.2010 10:52 # +2.4
bestxp 06.04.2010 10:53 # −1
сбить противника с толку вот весело) и пусть потом перебивает все варианты типа md5 sha1 и подобные)
guest 06.04.2010 17:29 # +2
bestxp 07.04.2010 16:28 # 0
guest 07.04.2010 04:18 # +1
bestxp 07.04.2010 16:29 # 0
guest 07.04.2010 21:24 # 0
guest 06.04.2010 15:56 # +1
guest 06.04.2010 16:06 # +0.4
guest 06.04.2010 16:10 # +4.8
guest 06.04.2010 17:24 # −0.2
guest 06.04.2010 23:40 # 0
guest 07.04.2010 01:27 # +0.8
У меня есть такое чувство, что это какое-нибудь студенческое задание, которое где-то когда-то находилось по ключу типа "encode password" или что-нибудь такое в гугле. Можно попробовать отыскать, может и причина написания тоже отыщется.
bestxp 07.04.2010 07:59 # 0
но использовать пришлось... в таком виде как на выходе из этого кода хранились пароли в БД одной онлайн игры.
так вот пират сервер и к нему надо было регу юзверей, и вот там такой алгоритм...
PS код корейский оО
mrbig66 07.04.2010 08:03 # 0
Два поколения встретились в одном топике.
bestxp 07.04.2010 08:05 # 0
mrbig66 07.04.2010 10:14 # +2.2
bestxp: ну я не говорил что он мой :)) но использовать пришлось...
А вообще забавно узнать, есть ли такой говнокод, который живет себе и не парится. Прогеры приходят, уходят, матюкаются, а он смотрит на них и думает: "Забавные они, это прогеры".
АдЪпусти меня, трава. ))
bestxp 07.04.2010 10:36 # +1
нифига еще подсыплю...
Это был скрипт генерации пароля в аккаунту игрока Lineage2 в базу, для PTS сборок так сказать, он кстати до сих пор не изменился, просто он мне случайно наткнулся пару дней назад)))
mrbig66 07.04.2010 11:11 # +1
bestxp 07.04.2010 11:12 # +1
DrFreez 07.04.2010 07:47 # 0