Temat: Szyfrowanie i deszyfrowanie danych
Data: 2005-11-21 o godz. 22:01:14
Autor: As


Kolejny skrypt szyfrujący i deszyfrujący dane. Doskonale nadaje się do szyfrowania haseł ;)

Kod PHP
001 <?php
002
003 # Ekipa TS (http://Twoja-Strona.Net)
004
005 /*
006 Funkcja endecrypt, odpowiedzialna za szyfrowanie i deszyfowanie tekstu.
007 */

008
009 function endecrypt ($pwd, $data="", $case) {
010     if ($case == 'de') {
011 $data = urldecode($data);
012     }
013     $key[] = "";
014     $box[] = "";
015     $temp_swap = "";
016     $pwd_length = 0;
017     $pwd_length = strlen($pwd);
018     for ($i = 0; $i < 255; $i++) {
019 $key[$i] = ord(substr($pwd, ($i % $pwd_length)+1, 1));
020         $box[$i] = $i;
021     }
022     $x = 0;
023     for ($i = 0; $i < 255; $i++) {
024 $x = ($x + $box[$i] + $key[$i]) % 256;
025         $temp_swap = $box[$i];
026         $box[$i] = $box[$x];
027         $box[$x] = $temp_swap;
028     }
029     $temp = "";
030     $k = "";
031     $cipherby = "";
032     $cipher = "";
033     $a = 0;
034     $j = 0;
035     for ($i = 0; $i < strlen($data); $i++) {
036 $a = ($a + 1) % 256;
037         $j = ($j + $box[$a]) % 256;
038         $temp = $box[$a];
039         $box[$a] = $box[$j];
040         $box[$j] = $temp;
041         $k = $box[(($box[$a] + $box[$j]) % 256)];
042         $cipherby = ord(substr($data, $i, 1)) ^ $k;
043         $cipher .= chr($cipherby);
044     }
045     if ($case == 'de') {
046         $cipher = urldecode(urlencode($cipher));
047     } else {
048         $cipher = urlencode($cipher);
049     }
050     return $cipher;
051 }
052
053 /*
054 Skrypt właściwy, formularz...
055 */

056
057 if($_POST['akcja']=="szyfruj") {
058    if($_POST['klucz']==""){
059       echo 'Zaszyfrowany:<br><textarea name="tekst" rows="11" cols="61">'.endecrypt('BARK', $_POST['tekst'], "en").'</textarea>';
060    } else {
061       echo 'Zaszyfrowany:<br><textarea name="tekst" rows="11" cols="61">'.endecrypt($_POST['klucz'], $_POST['tekst'], "en").'</textarea>';
062    }
063 } else if($_POST['akcja']=="odszyfruj") {
064    if($_POST['klucz']==""){
065       echo 'Odszyfrowany:<br><textarea name="tekst" rows="11" cols="61">'.endecrypt('BRAK', $_POST['tekst'], "de").'</textarea>';
066    } else {
067       echo 'Odszyfrowany:<br><textarea name="tekst" rows="11" cols="61">'.endecrypt($_POST['klucz'], $_POST['tekst'], "de").'</textarea>';
068    }
069 } else {
070    echo'<form method="POST"> Podaj text:
071         <br><textarea name="tekst" rows="11" cols="61"></textarea> <br>
072         Szyfruj <input type="radio" name="akcja" value="szyfruj">
073         || Odszyfruj <input type="radio" name="akcja" value="odszyfruj">
074         || Klucz: <input type="text" name="klucz">
075         <input type="submit" value="Dalej"></form>'
;
076 }
077
078 ?>
079


Pobierz Skrypt (Test Skryptu)



Artykuł jest z Twoja-Strona.Net
http://twoja-strona.net/html

Adres tego artykułu to:
http://twoja-strona.net/html/Biblioteka_Art360.html