Forum Webscript.Ru

Программирование => PHP => Тема начата: bold от 23 Апреля 2003, 16:47:35

Название: Криптография
Отправлено: bold от 23 Апреля 2003, 16:47:35
Есть какая-н библиотека с разными алгоритмами шифрования? Или вообще в PHP можно crypt() дештфровать?
Можно ли изменять алгоритмы шифрования в crypt()???
Название: Криптография
Отправлено: Maniac от 23 Апреля 2003, 17:21:06
bold
Если ты наберешь на php.net в поиске функций crypt - получишь мноооого интересной информации, в т.ч. See Also, где описывается md5
Название: Криптография
Отправлено: MrGreeN от 23 Апреля 2003, 17:29:15
Maniac
md - хеширование а человеку надо шифрование
Название: Криптография
Отправлено: Maniac от 23 Апреля 2003, 17:37:32
MrGreeN
Сорри, попутал. Ссылка на MCrypt там тоже есть
Название: Криптография
Отправлено: bold от 23 Апреля 2003, 17:57:03
ОК поищу...
Название: Криптография
Отправлено: Макс от 23 Апреля 2003, 20:19:55
как вариант - pear::crypt
Название: Криптография
Отправлено: bold от 24 Апреля 2003, 07:15:46
А вроде не то. Где алгоритмы новые взять?
Название: Криптография
Отправлено: Макс от 24 Апреля 2003, 11:06:58
Цитировать
Где алгоритмы новые взять?
в google искать пробовал ?
Чем тебя не устраивают существующие в php или pear алгоритмы ?

[off] вообще если хочешь большой выбор алгоритмов, то ИМХО лучше посмотреть например в сотрону Perl, там более обширная криптографическая библиотека [/off]
Название: Криптография
Отправлено: bold от 24 Апреля 2003, 18:32:23
Да я не себе делаю, бос велит новые алгоритмы найти
Название: Криптография
Отправлено: Макс от 24 Апреля 2003, 19:01:51
самому алгоритм придуамать ?
Если нет, то какой именно алгоритм тебе нужен ? (tea, ГОСТ, mars, 3des, твой вариант )
Название: Криптография
Отправлено: bold от 24 Апреля 2003, 21:20:29
Давай любые, где их скачать можно и как загрузить? Библиотеку новую придется?
Название: Криптография
Отправлено: Макс от 24 Апреля 2003, 22:51:40
1. вообще-то я вел к тому что если какой-то алгоритм не реализован, то ничто не мешает тебе его реализовать. Разбираешься с алгоритмом и пишешь библиотеку.
2. Используй pgp (в сети можно найти класс на php для работы с ним)
3. ты pear-овский Сrypt-раздел смотрел ? (там tea, cbc и rc4)
Название: Криптография
Отправлено: bold от 25 Апреля 2003, 17:11:07
Да как я библиотеку буду писать я не умею. Есть готовые где-н?
Название: Криптография
Отправлено: Xander от 25 Апреля 2003, 17:39:56
bold
Тебе в этой ветке уже 4 раза сказали, где их искать.
Еще обязательно попробуй поискать яндексом и гуглем по названиям.
Название: Криптография
Отправлено: bold от 25 Апреля 2003, 18:40:26
Да... искал, искал, какие-то файлы накачал .bls ничего не помогло. Проехали, другим способом попробую, без скачанных алгоритмов.
Название: Криптография
Отправлено: Макс от 25 Апреля 2003, 19:02:17
Цитировать
какие-то файлы накачал .bls ничего

[off] - сегодня учительница сказала что я в математике ничего не понимаю и поставила в дневник какую-то цифру :)[/off]
http://pear.php.net/packages.php?catpid=6&catname=Encryption
Название: Криптография
Отправлено: Alexandr от 27 Апреля 2003, 13:58:15

function StrXOR($str, $key="asdfasdfasdfa"){
while(strlen($key)<=strlen($str)) $key=str_repeat($key, 2);
return ($str^$key);
}

$a=implode("", file($PHP_SELF));
echo "\\n\\n".$a;

$key="1";
$a=StrXOR($a, $key);
echo "\\n\\n".$a;

$key="2";
$b=StrXOR($a, $key);
echo "\\n\\n".$b;

$key="1";
$a=StrXOR($a, $key);
echo "\\n\\n".$a;
?>
Название: Криптография
Отправлено: Xander от 28 Апреля 2003, 15:41:19
Делать так, как сказал Alexandr если тебе нужно шифрование - нельзя.
Файлы, "зашифрованные" XOR-ом, вскрываются на счет раз.
Название: Криптография
Отправлено: FreeSpace от 28 Апреля 2003, 20:34:29
function RC4($pwd, $data){
//ecncrypt $data with the key in $pwd with an rc4 algorithm
$pwd_length = strlen($pwd);

for ($i = 0; $i < 255; $i++){
$key[$i] = ord(substr($pwd,($i % $pwd_length) + 1, 1));
$counter[$i] = $i;
}
for ($i = 0; $i < 255; $i++){
$x = ($x + $counter[$i] + $key[$i]) % 256;
$temp_swap = $counter[$i];
$counter[$i] = $counter[$x];
$counter[$x] = $temp_swap;
}

for ($i = 0; $i < strlen($data); $i++){
$a = ($a + 1) % 256;
$j = ($j + $counter[$a]) % 256;
$temp = $counter[$a];
$counter[$a] = $counter[$j];
$counter[$j] = $temp;
$k = $counter[(($counter[$a] + $counter[$j]) % 256)];
$Zcipher = ord(substr($data, $i, 1)) ^ $k;
$Zcrypt.= chr($Zcipher);
}
return $Zcrypt;
}
$secret = "SuperSecretKey";
$data = "Testing my data...";
echo "Original: $data
\\n";
echo "Key: $secret
\\n";
$encoded = RC4($secret, $data);
echo "Encoded: $encoded
\\n";
$decoded = RC4($secret, $encoded);
echo "Decoded: $decoded
\\n";
Где взял - не помню.
Копирайт, конечно, не мой :)
Название: Криптография
Отправлено: Alexandr от 29 Апреля 2003, 08:47:42
Xander, покеж.
Название: Криптография
Отправлено: Xander от 29 Апреля 2003, 13:56:23
http://www1.xakep.ru/post/14808/default.asp
Название: Криптография
Отправлено: bold от 29 Апреля 2003, 20:57:07
Ладно, спасибо всем!!!