/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Kryptering & dekryptering RC4?
Fra : Morten Winther


Dato : 06-06-01 19:56

Jeg skal give brugere mulighed for at kryptere data som ekstra option, og så
dekryptere nu det skal vises igen.

Nogen der kender RC4? Hvor stærk er denne kryptering? Koden ser jo let nok
ud - er det her tale om rigtig RC4 kryptering?

/ morten

Koden:


<?php

// Class Made By Mukul Sabharwal [mukulsabharwal@yahoo.com]
// http://www.devhome.net/php/
// On October 21, 2000
// Updated February 24, 2001
// Now passes RC4 Vector Harness

class rc4crypt {

function endecrypt ($pwd, $data, $case) {

if ($case == 'de') {

$data = urldecode($data);

}

$key[] = "";
$box[] = "";
$temp_swap = "";
$pwd_length = 0;

$pwd_length = strlen($pwd);

for ($i = 0; $i <= 255; $i++) {

$key[$i] = ord(substr($pwd, ($i % $pwd_length), 1));
$box[$i] = $i;

}

$x = 0;

for ($i = 0; $i <= 255; $i++) {

$x = ($x + $box[$i] + $key[$i]) % 256;
$temp_swap = $box[$i];

$box[$i] = $box[$x];
$box[$x] = $temp_swap;

}

$temp = "";
$k = "";

$cipherby = "";
$cipher = "";

$a = 0;
$j = 0;

for ($i = 0; $i < strlen($data); $i++) {

$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;

$temp = $box[$a];
$box[$a] = $box[$j];

$box[$j] = $temp;

$k = $box[(($box[$a] + $box[$j]) % 256)];
$cipherby = ord(substr($data, $i, 1)) ^ $k;

$cipher .= chr($cipherby);

}

if ($case == 'de') {

$cipher = urldecode(urlencode($cipher));

} else {

$cipher = urlencode($cipher);

}

return $cipher;

}

}

?>



 
 
Anders Johannsen (06-06-2001)
Kommentar
Fra : Anders Johannsen


Dato : 06-06-01 22:40

In article <9flu67$g5l$1@news.inet.tele.dk>, "Morten Winther"
<mw@get2net.dk> wrote:

> Jeg skal give brugere mulighed for at kryptere data som ekstra option,
> og så dekryptere nu det skal vises igen.
>
> Nogen der kender RC4? Hvor stærk er denne kryptering? Koden ser jo let
> nok ud - er det her tale om rigtig RC4 kryptering?

PHP har nogen udmærkede krypteringsmoduler, som du kan / bør bruge.
Krypteringsalgoritmer i ren PHP er enten for usikre eller for langsomme.

/A

Jonas Kongslund (06-06-2001)
Kommentar
Fra : Jonas Kongslund


Dato : 06-06-01 23:17

Anders Johannsen wrote:
> Krypteringsalgoritmer i ren PHP er enten for usikre eller for langsomme.

Hvorfor "usikre"?

--
Jonas Kongslund

Christian Schmidt (08-06-2001)
Kommentar
Fra : Christian Schmidt


Dato : 08-06-01 12:14

Anders Johannsen wrote:
>
> PHP har nogen udmærkede krypteringsmoduler, som du kan / bør bruge.
> Krypteringsalgoritmer i ren PHP er enten for usikre eller for langsomme.

Med GMP <http://dk.php.net/manual/en/html/ref.gmp.html> kan du på få
liniers kode lave en effektiv implementering af RSA-kryptering.


Christian

Jacob Bunk Nielsen (08-06-2001)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 08-06-01 18:05

Christian Schmidt <christian@schmidt.net> writes:

> Med GMP <http://dk.php.net/manual/en/html/ref.gmp.html> kan du på få
> liniers kode lave en effektiv implementering af RSA-kryptering.

Så skal man også til at lave noget kode til at generere RSA-nøgler, og
det er bestemt ikke ukritisk hvordan du vælger dine primtal (normalt
kaldet p og q) i forbindelse med at oprette en RSA-nøgle.

Hvis man ikke er godt inde i teorien omkring valg af tilfældige (og
store) primtal, så tror jeg man skal afholde sig fra selv at
implementere RSA til andet end hobbybrug!

--
Jacob
How do I install Linux, there is no setup.exe?

Olicom Crossfire 8400 switch til salg, send et bud ...

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste