to jest wersja gdzie generowałem klucz przy użyciu chr()
ďťż<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
class ClSzyfrowanie{
private $Wiadomosc;
private $WiadomoscKoncowa;
private $Klucz;
private $dlugosc;
function uruchom(){
$this->OdczytajKlucz();
if($_GET['GenerujKlucz']=='generuj'){
$this->GenerujKlucz();
}else if($_GET['wiadomosc']!=''){
$this->Wiadomosc = $_GET['wiadomosc'];
$this->dlugosc = strlen($this->Wiadomosc); if($_GET['dzialanie']=='Koduj'){
$this->WiadomoscKoncowa = 'Zakodowana wiadomość:<br>'.$this->Kodowanie().'<br>';
}else{
$this->WiadomoscKoncowa = 'Odkodowana wiadomość to:<br>'.$this->Dekodowanie().'<br>';
}
}
}
function Wyswietl(){
return $this->WiadomoscKoncowa;
}
function OdczytajKlucz(){
$uchwyt =fopen('klucz.txt', 'r'); $this->Klucz = explode('[--]',$klucz); }
function GenerujKlucz(){
echo"Nowy klucz został wygenerowany!"; for($x='0'; $x<='127';$x++){
$ascii[chr($x)]=chr($x);
}
$NowyKlucz =implode('[--]', $ascii);
$uchwyt =fopen('klucz.txt', 'w'); }
private function Kodowanie(){
for($x=0; $x <= $this->dlugosc-1; $x++){
$this->WiadomoscKoncowa .= $this->Klucz[ord($this->Wiadomosc[$x])];
}
return $this->WiadomoscKoncowa;
}
private function Dekodowanie(){
for($x=0; $x <= $this->dlugosc-1; $x++){
$this->WiadomoscKoncowa .= chr
(array_search($this->Wiadomosc[$x], $this->Klucz)); }
return $this->WiadomoscKoncowa;
}
}
$Szyfrowanie = new ClSzyfrowanie;
$Szyfrowanie->Uruchom();
echo $Szyfrowanie->Wyswietl()." <form acton=szyfrowanie.php method=GET>
WprowadĹş tekst:<input type=text name=wiadomosc><br>
<select name=dzialanie>
<option>Koduj</option>
<option>Dekoduj</option>
</select><br>
<input type=submit value=Przetwrzaj><br>
</form>
<a href=szyfrowanie.php?GenerujKlucz=generuj>Generuj nowy klucz</a><br>";
?>
</body>
</html>
wygenerowana tablica ASCII do tego:
[--])[--][--]^[--]][--][--]5[--] [--][--][--][--]
[--]k[--][--]Y[--][--]y[--]([--]|[--]V[--]:[--][--]J[--]A[--][--]i[--][--]C[--]n[--]Z[--]@[--][--]p[--][--]`[--][--]v[--]=[--]c[--]t[--][[--]3[--]u[--]f[--]b[--]B[--][--]%[--]4[--]6[--][--]0[--]I[--]D[--]9[--]8[--][--]l[--]q[--]\[--]$[--]{[--]M[--]}[--]-[--]d[--]j[--]H[--]N[--][--]?[--]K[--]G[--]a[--]
[--]E[--][--]w[--]m[--]h[--]#[--][--]"[--]W[--]r[--];[--]P[--]S[--][--][--]Q[--]1[--][--]&[--]R[--]e[--]X[--]T[--]U[--]O[--]<[--]*[--],[--][--]+[--]s[--]>[--] [--][--]g[--]_[--]L[--][--]x[--] [--]2[--][--]z[--]/[--]o[--][--].[--][--]~[--]7[--]F[--]'[--]!
a tutaj ta wercja do której samemu zrobiłem tablice z wybranymi znakami:
ďťż<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
</head>
<body>
<?php
class ClSzyfrowanie{
private $Wiadomosc;
private $WiadomoscKoncowa;
private $Klucz;
private $Tablica;
private $dlugosc;
function uruchom(){
$this->WczytajTablice();
$this->OdczytajKlucz();
if($_GET['GenerujKlucz']=='generuj'){
$this->GenerujKlucz();
}else if($_GET['wiadomosc']!=''){
$this->Wiadomosc = $_GET['wiadomosc'];
$this->dlugosc = strlen($this->Wiadomosc); if($_GET['dzialanie']=='Koduj'){
$this->WiadomoscKoncowa = 'Zakodowana wiadomość:<br>'.$this->Kodowanie().'<br>';
}else{
$this->WiadomoscKoncowa = 'Odkodowana wiadomość to:<br>'.$this->Dekodowanie().'<br>';
}
}
}
function Wyswietl(){
return $this->WiadomoscKoncowa;
}
private function WczytajTablice(){
$uchwyt = fopen('tablica.txt', 'r'); }
function OdczytajKlucz(){
$uchwyt =fopen('klucz.txt', 'r'); $this->Klucz = explode('[@@]',$klucz); foreach($this->Klucz as $a){
}
}
function GenerujKlucz(){
echo"Nowy klucz został wygenerowany!"; $ascii = $this->Klucz;
$NowyKlucz =implode('[@@]', $ascii);
$uchwyt =fopen('klucz.txt', 'w'); }
private function Kodowanie(){
for($x=0; $x <= $this->dlugosc-1; $x++){
$this->WiadomoscKoncowa .= $this->Klucz[array_search($this->Wiadomosc[$x], $this->Tablica)];
}
return $this->WiadomoscKoncowa;
}
private function Dekodowanie(){
for($x=0; $x <= $this->dlugosc-1; $x++){
$this->WiadomoscKoncowa .= $this->Tablica[array_search($this->Wiadomosc[$x], $this->Klucz)];
}
return $this->WiadomoscKoncowa;
}
}
$Szyfrowanie = new ClSzyfrowanie;
$Szyfrowanie->Uruchom();
echo $Szyfrowanie->Wyswietl()." <form acton=szyfrowanie.php method=GET>
WprowadĹş tekst:<input type=text name=wiadomosc><br>
<select name=dzialanie>
<option>Koduj</option>
<option>Dekoduj</option>
</select><br>
<input type=submit value=Przetwrzaj><br>
</form>
<a href=szyfrowanie.php?GenerujKlucz=generuj>Generuj nowy klucz</a><br>";
?>
</body>
</html>
i ta tablica
a[@@]ą[@@]b[@@]c[@@]ć[@@]d[@@]e[@@]ę[@@]f[@@]g[@@]h[@@]i[@@]j[@@]k[@@]l[@@]ł[@@]
m[@@]n[@@]o[@@]ó[@@]p[@@]r[@@]s[@@]ś[@@]t[@@]u[@@]w[@@]x[@@]y[@@]z[@@]ź[@@]ż[@@]A
[@@]Ą[@@]B[@@]C[@@]Ć[@@]D[@@]E[@@]Ę[@@]F[@@]G[@@]H[@@]I[@@]J[@@]K[@@]L[@@]Ł[@@]M[
@@]N[@@]O[@@]Ó[@@]P[@@]R[@@]S[@@]Ś[@@]T[@@]U[@@]v[@@]W[@@]X[@@]Y[@@]Z[@@]Ź[@@]Ż[@
@]1[@@]2[@@]3[@@]4[@@]5[@@]6[@@]7[@@]8[@@]9[@@]0[@@]`[@@]~[@@]![@@]@[@@]#[@@]$[@@
]%[@@]^[@@]&[@@]*[@@]([@@])[@@]-[@@]=[@@]\[@@]_[@@]+[@@]|[@@][[@@]][@@]{[@@]}[@@];[@@]'[@@]:[@@]"[@@],[@@].[@@]/[@@]<[@@]>[@@]?
a klucz do tego jest taki jak tablica tylko kolejność inna