Es hat keinen Sinn nach der Liebe des Lebens zu suchen, denn der Mensch, der für einen bestimmt ist, läuft einem sowieso über den Weg! Mann kann nur einen Fehler machen...IHN ZU ÜBERSEHEN!

Texte verschlüsseln

Posted July 19, 2010 // PHP // 0 views

Ich wurde heute auf einen Thread im Forum de Luxx von einem Benutzer namens john_ aufmerksam; Titel des Beitrags: “Texte verschlüsseln”. Besagter Benutzer suchte ein Script zur Verschlüsselung von Texten – dabei sollen die Buchstaben des Textes in einen numerischen Wert umgewandelt werden und mit einem Summanden addiert werden um eine Art “Verschleierung” zu erreichen (oder anders formuliert: damit man das Passwort nicht ganz so schnell entschlüsseln kann).

Im ersten Moment erinnerte mich das Ganze an ein Buch von Dan Brown: Digital Fortress / Diabolus. In dem Buch geht es hauptsächlich um Kryptographie – und auch wenn das Buch von vorne bis hinten mit Logik-Fehlern in Hinsicht auf Kryptographie geschmückt ist, musste ich an den im Buch verwendeten “Private Key” denken. Im Buch konnten verschlüsselte Passwörter nur mit Hilfe des “Private Keys” entschlüsselt werden – prinzipiell genau das selbe wie es de Luxx-Nutzer john_ wollte.

Da mir der Nachmittag einiges an Zeit bot versuchte ich diese Art von Verschlüsselung umzusetzen… mit Erfolg. Zwar ist das Script nur “quick & dirty” geschrieben, doch erfüllt es seinen Zweck. Das fertige Script lässt sich hier finden. Und hier noch der (relative simple) Quellcode:

$elem = array(
	'a' => 1,
	'b' => 2,
	'c' => 3,
	'd' => 4,
	'e' => 5,
	'f' => 6,
	'g' => 7,
	'h' => 8,
	'i' => 9,
	'j' => 10,
	'k' => 11,
	'l' => 12,
	'm' => 13,
	'n' => 14,
	'o' => 15,
	'p' => 16,
	'q' => 17,
	'r' => 18,
	's' => 19,
	't' => 20,
	'u' => 21,
	'v' => 22,
	'w' => 23,
	'x' => 24,
	'y' => 25,
	'z' => 26,

	'A' => 27,
	'B' => 28,
	'C' => 29,
	'D' => 30,
	'E' => 31,
	'F' => 32,
	'G' => 33,
	'H' => 34,
	'I' => 35,
	'J' => 36,
	'K' => 37,
	'L' => 38,
	'M' => 39,
	'N' => 40,
	'O' => 41,
	'P' => 42,
	'Q' => 43,
	'R' => 44,
	'S' => 45,
	'T' => 46,
	'U' => 47,
	'V' => 48,
	'W' => 49,
	'X' => 50,
	'Y' => 51,

	'ß' => 52,
	'ö' => 53,
	'ä' => 54,
	'ü' => 55
);

function strReplaceAssoc( array $replace, $subject ) {
	return str_replace( array_keys( $replace ), array_values( $replace ), $subject );
}

function encrypt( $input, $addend ) {
	global $elem;

	foreach( $elem as $letter => $code ) {
		$elem[$letter] = $code + $addend.' ';
	}

	$input = str_replace(' ', ' - ', $input);

	$str = strReplaceAssoc( $elem, $input );
	return $str;
}

function decrypt( $input, $addend ) {
	global $elem;
	$str = '';

	$reversedElem = array_flip($elem);
	foreach( $reversedElem as $code => $letter ) {
		$reversedElem[ $code + $addend ] = $letter;
	}

	$exp = explode( ' ', $input );
	foreach($exp as $expr) {
		if($expr == '-') $str .= ' ';
		$str .= $reversedElem[$expr];
	}

	return $str;
}

0 Comments

no comments available



Who?
Etwas sarkastisch, hin und wieder vielleicht ein klein wenig wahnsinnig und dennoch (meistens) realistisch. Mein Name ist Hirczy Kevin,
19 Jahre jung und ich bin Hobbyprogrammierer!


Archives

Categories