ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

20.01.2008, 20:49
|
|
Познающий
Регистрация: 24.07.2007
Сообщений: 31
Провел на форуме: 1417840
Репутация:
35
|
|
php.net/array_unique
|
|
|

20.01.2008, 20:53
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
используй array_unique(); она удалит все совпадения.. ненаю к какому массиву тебе надо помойму к тому что в $b сделй $b=array_unique($b); до $array = $b[0]; по идеи должно выйти
упс опоздал немного=)
|
|
|

20.01.2008, 20:57
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
$array = $b[0];
$new=array_unique($array);
$open=fopen("base_mail.txt","w");
foreach($new as $str) {
fwrite($open,$str."\r\n");
}
fclose($open);
|
|
|

20.01.2008, 21:06
|
|
Reservists Of Antichat - Level 6
Регистрация: 19.03.2007
Сообщений: 953
Провел на форуме: 7617458
Репутация:
3965
|
|
cпасибо дум, бул.
__________________
BlackHat. MoDL
|
|
|

22.01.2008, 22:36
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Функция кодирования хэша содержит ошибку:
PHP код:
// Функция кодирования строки хэша в hex
function code_hash($s)
{
$n=0;
$hash_code="";
$code="";
$l=strlen($s)-1;
do
{
$code='0x'.$s[$n].$s[$n+1];
$hash_code.=chr(hexdec($code));
$n++;
}
while ($n++<$l);
return $hash_code;
}
Например берём хэш
952f26f83e66b8881ae7e603e1643e901f5b5220
кодируем/декодируем получаем:
952f26f83e66b8881ae7e63e1643e901f5b52
как видно пропали два нуля и двойка (3 символа!)
Функция декодирования:
PHP код:
// Функция декодирования хэша из hex.
function decode_hash($string)
{
$n=0;
$code="";
$decode_hash="";
$l=strlen($string)-1;
do
{
$code=ord($string[$n]);
$decode_hash.=dechex($code);
}
while ($n++<$l);
return $decode_hash;
}
Не пойму где ошибка, то ли в функциях, то ли при занесении в базу закодированного хэша, хелп плиз!
|
|
|

22.01.2008, 23:21
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме: 1845062
Репутация:
1079
|
|
Лебедь, вместо первой функции используй bin2hex()
PHP код:
function unhex($str)
{
$str=str_replace('0x','',$str);
$unhexed='';
for($i=0;$i<strlen($str);$i+=2)
{
$unhexed.=chr(hexdec(substr($str,$i,2)));
}
return $unhexed;
}
Последний раз редактировалось Macro; 22.01.2008 в 23:29..
|
|
|

23.01.2008, 03:56
|
|
Познающий
Регистрация: 15.01.2008
Сообщений: 78
Провел на форуме: 189620
Репутация:
26
|
|
-=lebed=- проверь, скорее всего у тебя в БД колонка ограничена 38 символами...
|
|
|

23.01.2008, 11:39
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
ошибка оказалась в функции декодирования хэша из hex в символьный вид:
PHP код:
// Функция декодирования хэша из hex.
function decode_hash($string)
{
$n=0;
$code="";
$decode_hash="";
$l=strlen($string)-1;
do
{
$code=ord($string[$n]); // вот тут если $code - односимвольное представление, то надо добавить 0 перед ним.
$decode_hash.=dechex($code);
}
while ($n++<$l);
return $decode_hash;
}
Исправил так:
PHP код:
// Функция декодирования хэша из hex-строки в символьное представление.
function decode_hash($string)
{
$n=0;
$code="";
$decode_hash="";
$l=strlen($string)-1;
do
{
$code=ord($string[$n]);
$code1=dechex($code);
if (strlen($code1)==1) $code1="0".$code; // если например $code=3 делаем 03
$decode_hash.=$code1;
}
while ($n++<$l);
return $decode_hash;
}
|
|
|

23.01.2008, 11:44
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме: 1845062
Репутация:
1079
|
|
Лебедь, я же тебе написал функцию гораздо проще, зачем такой код громоздить?
|
|
|

23.01.2008, 12:41
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Сообщение от Macro
Лебедь, я же тебе написал функцию гораздо проще, зачем такой код громоздить?
Это не то что мне нужно:
string bin2hex ( string str )
Возвращает строку, содержащую шестнадцатиричное представление аргумента str. Преобразование производится побайтно.
То если преобразовать строку хэша 952f26f83e66b8881ae7e603e1643e901f5b5220 то будет вот что:
39353266323666383365363662383838316165376536303365 313634336539303166356235323230
А мне надо получить строку символов, код которых chr(hexdec(95)).chr(hexdec(2f)).chr(hexdec(26)) и т.д.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|