Verschlüsselungsalgorithmus

Dieses Tutorial zeigt einen Verschlüsselungsalgorithmus von Texten nach dem PHP Data Encryption Standard.

Zunächst benötigt dieses Tutorial eine Rahmeneinführung in den Aufbau der ASCII (American Standard Code for Information Interchange) Tabelle: Mit dem ASCII Code sind Buchstaben und Zahlen beispielsweise im Internet darstellbar. Beginnen wir bei dem Buchstaben A. Dieser ist mit dem ASCII Wert 65 darstellbar. Dies können Sie auch mit der Funktion ord(); nachprüfen. Diese Funktion ermittelt zum entsprechenden Zeichen den jeweiligen ASCII Wert. Um dies besser nachvollziehen zu können, führen Sie folgendes Script aus, das Ihnen die für dieses Tutorial notwendigen Zeichen ausgeben wird.

<?php
$alphabet
=range('A','Z'); 
foreach(
$alphabet as $buchstabe

$ascii_code=ord($buchstabe); 
echo 
"$buchstabe = $ascii_code<br>"

?>

Zurück zur eigentlichen Verschlüsslung mittels PHP. Wie das Script zeigt, ist dem Buchstaben A der Wert 65 zugeordnet. Die nun benötigte Funktion chr(); liefert zu dem entsprechenden ASCII Wert das jeweilige Zeichen. Wenden wir nun folgende Funktion an, so erhalten wir den Buchstaben E. echo chr(ord("A")+4); Folgendes Problem taucht nun auf: Die gezeigte Funktion chr() bzw. ord() ist nur in der Lage, einzelne Buchstaben umzuwandeln, ganze Texte müssten manuell behandelt werden - beinahe unmöglich. Hierzu nutzen wir die Funktion strlen(); , um zunächst die Länge des Strings zu ermitteln. Diese Funktion kombinieren wir mittels while() Schleife mit der uns ebenfalls zur Verfügung stehenden Funktion substr(), mit Hilfe derer wir den Buchstaben festlegen, welchen wir verschlüsseln wollen.

<?php
$codiertext 
"Tutorial"
$laenge strlen($codiertext); 
while(
$n $laenge)

echo 
chr(ord(substr($codiertext,$n,1))+4); 
$n++; 

?>

Wir codieren also den jeweils in der Schleife durchlaufenden Buchstaben der Reihe $n. Wir erhalten nun als Ausgabe den String: Xyxsvmep Selbstverständlich kann die Schleife beliebig erweitert und um ein Vielfaches mehr verschlüsselt werden, mit jeder Verschlüsslungsstufe wird die Sicherheit erhöht, die Entschlüsslung komplexer.

Um jedoch selbst den String wieder korrekt lesen zu können, benötigt man selbstverständlich noch eine Entschlüsslungsprozedur. Diese ist ähnlich aufgebaut, wie das vorherige Beispiel, jedoch subtrahiert man die zuvor addierten Werte.

<?php 
$entcodiertext 
"Xyxsvmep"
$laenge strlen($entcodiertext); 
while(
$n $laenge)

echo 
chr(ord(substr($entcodiertext,$n,1))-4); 
$n++; 

?>

Nun erhalten wir wieder den Text Tutorial zurück.

Noch einmal die kompletten Codes:

Verschlüsslung:

<?php
$codiertext 
"Tutorial"
$laenge strlen($codiertext); 
while(
$n $laenge)

echo 
chr(ord(substr($codiertext,$n,1))+4); 
$n++; 

?>

Entschlüsslung:

<?php 
$entcodiertext 
"Xyxsvmep"
$laenge strlen($entcodiertext); 
while(
$n $laenge)

echo 
chr(ord(substr($entcodiertext,$n,1))-4); 
$n++; 

?>

Ratings

There are no comments available yet.

Here you can write a comment


Please enter at least 10 characters.
Loading... Please wait.
* Pflichtangabe

Related topics

Templates in PHP

Ein kleines Tutorial zum Einsatz von Templates in PHP am Beispiel der Apolda Templateklasse (kuerbis.org/template/) ...

stulgies@

Autor : stulgies@
Category: PHP-Tutorials

Responsive Webdesign

Einstieg in Responsive Webdesign und Grids ...

admin

Autor : admin
Category: Other tutorials

Spielereien mit Zeit und Datum

Das Rechnen mit Datum und Zeit ist nur selten unproblematisch, PHP stellt uns dafür zahlreiche Funktionen zur Verfügung. Wir wollen uns im folgenden ein paar davon ansehen und an Beispielen erproben. ...

Stephane

Autor : Stephane
Category: PHP-Tutorials

Reguläre Ausdrücke

In diesem Tutorial wird erklärt, wie reguläre Ausdrücke aufgebaut sind, was die Metacharaktere (Zeichen mit spezieller Bedeutung) eines Patterns bedeuten, und wie man das ganze in PHP umsetzt. Es werden nur die wichtigsten Teile erklärt, für weiterführend ...

webmaster2@

Autor : webmaster2@
Category: PHP-Tutorials

SVN Server einrichten

Wie man unter Linux einen Subversion Server einrichtet. ...

admin

Autor : admin
Category: Linux & Server Tutorials

Eigene Web Services mit PHP5 bereitstellen? Kein Problem!

PHP5 bietet das nötige Rüstzeug, um bequem und schnell den eigenen Web Service auf die Beine zu stellen. ...

beebob

Autor : beebob
Category: PHP-Tutorials

phpinfo() shows nothing

Today I want to show you how to output the phpinfo(). ...

Webmasterfreaky

Autor : Webmasterfreaky
Category: PHP-Tutorials

grafischen Counter

Oftmals wird gefragt wie man einen grafischen Counter mit PHP realisieren könnte. Hier ist die Antwort ...

t63@

Autor : t63@
Category: PHP-Tutorials

Publish a tutorial

Share your knowledge with other developers worldwide

Share your knowledge with other developers worldwide

You are a professional in your field and want to share your knowledge, then sign up now and share it with our PHP community

learn more

Publish a tutorial