[an error occurred while processing this directive]
Ответ: RC4 просто быстро и качественно. извиняйте - оптимизацию самим.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Alt. 11 июня 2006 г. 23:48
В ответ на: Вопрос не мой, но всё равно интересно, что народ применяет для аутентификации на МК отправлено CD_Eater 08 июня 2006 г. 22:12

RC4.
реализация на php.
/**
* REimplementation of Dave Mertens's RC4 implementation =).
* @author alt. <***********>

* @copyright copyleft.
* @name crypto.rc4
* @version 0.03
*/

function RC4_genkey($key) {

$j = 0;
/* You can encrypt even without password! */
if (!isset($key)){$key="";}
$len= strlen($key);
/* FILL ARRAY WITH every element's position*/
for ($i = 0; $i < 256; $i++) {
$s[$i] = $i;
}

for ($i = 0; $i < 256; $i++) {
$j = ($j + $s[$i] + ord($key[$i % $len])) % 256;
$t = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $t;
}
/* UNSET */
$i = $j = 0;

$j = 0;
return $s;
}

function RC4_crypt($text,$key) {
if (!isset($text)){trigger_error("You've forgoten to enter input text");}
$i=0;
$j=0;
$text_out=$text;
/* vvv md5! not original */
$key=md5(strval($key));
$s=RC4_genkey($key);

$len= strlen($text_out);
for ($c= 0; $c < $len; $c++) {
$i = ($i + 1) % 256;
$j = ($j + $s[$i]) % 256;
$t = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $t;

$t = ($s[$i] + $s[$j]) % 256;

$text_out[$c] = chr(ord($text_out[$c]) ^ $s[$t]);
}
return $text_out;
}

?>

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru