как зашифровать cookies

shurc900

Новичок
как зашифровать cookies

Tckb я например хочу влепить в брузер cook в зашифрованом виде(естественно с ключем шифрования). А потом на некой странице decript.php имея ключ рассштфровать его, как мне это сделать.
 

Сергей123

Новичок
А что ты в них планируешь хранить?

У тебя не получается поставить и "считать" куку или зашифровать и расшифровать? А что именно не получается?
 

postovik

Новичок
Шифрование и дешифрование по заданому тобой ключу $key:
PHP:
 <?php
 function encrypt($string, $key) {
  $result = '';
  for($i=0; $i<strlen($string); $i++) {
    $char = substr($string, $i, 1);
    $keychar = substr($key, ($i % strlen($key))-1, 1);
    $char = chr(ord($char)+ord($keychar));
    $result.=$char;
  }

  return base64_encode($result);
 }

 function decrypt($string, $key) {
  $result = '';
  $string = base64_decode($string);

  for($i=0; $i<strlen($string); $i++) {
    $char = substr($string, $i, 1);
    $keychar = substr($key, ($i % strlen($key))-1, 1);
    $char = chr(ord($char)-ord($keychar));
    $result.=$char;
  }

  return $result;
 }

$string ='Tckb я например хочу влепить в брузер cook в зашифрованом виде(естественно с ключем шифрования). А потом на некой странице decript.php имея ключ рассштфровать его, как мне это сделать.';

$key = "27dsfiouhu69876876tihj";

$encrypted = encrypt($string, $key);
$decrypted = decrypt($encrypted, $key);

echo " $encrypted <br/>::<br/> $decrypted ";

?>

Куки думаю знаеш как ставить?
 

nerezus

Вселенский отказник
А так:

PHP:
<?
// Powered by drmist © 2005
// File: rc4.php
function rc4init($key)
{
 global $rc4i, $rc4j, $rc4S;

 $rc4i=$rc4j=0;
 for($i=0;$i<256;$i++) $rc4S[$i]=$i;

 $j=0;
 $t=strlen($key);
 for($i=0;$i<256;$i++)
 {
   $K[$i]=ord($key[$j]);
   $j=++$j % $t;
 }

 $j=0;
 for($i=0;$i<256;$i++)
 {
   $j=($j+$rc4S[$i]+$K[$i]) % 256;

   $t=$rc4S[$i];
   $rc4S[$i]=$rc4S[$j];
   $rc4S[$j]=$t;
 }
}

function rc4charcrypt($c)
{
 global $rc4i, $rc4j, $rc4S;
 $rc4i=++$rc4i % 256;
 $rc4j=($rc4j + $rc4S[$rc4i]) % 256;

 $t=$rc4S[$rc4i];
 $rc4S[$rc4i]=$rc4S[$rc4j];
 $rc4S[$rc4j]=$t;

 return chr(ord($c)^$rc4S[ ( $rc4S[$rc4i] + $rc4S[$rc4j] ) % 256]);
}

function rc4($key,$str)
{
 rc4init($key);
 for($i=0;$i<strlen($str);$i++)
   $str[$i]=rc4charcrypt($str[$i]);
 return $str;
}

?>
=)

А вобще - XOR.
 

white phoenix

Новичок
nerezus
один хрен. не сильно это "шифрование" ушло от base64 по сложности дешифровки.
 

ksnk

прохожий
nerezus
Велосипеды придумывать интересно, но занятие это неблагодарное :)
смотри mcrypt
 
Сверху