Willkommen in der Webstatt Zum Webstatt Blog und Stories
Wasili am 21.09.06 21:35

Verschiebechiffre v.0.1
Folgende Funktionen verstellen den ASCII-Wert eines Zeichens um den Modulus aus 256 von der Prüfsumme vom Passwort.
<?php
/*

Verschiebechiffre.
Chiffriert einen String mit einem Passwort, mit selbigen (Naja, nicht ganz...) lässt sich wieder entschlüsseln.
Funktioniert nur mit ASCII!

Copyright (C) 2006 Basilius Sauter

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

*/

function shiftcipher_encode($sEncode, $sPass) {
$iPass = (crc32($sPass)%256);
$iEncodeLenght = StrLen($sEncode);
$sCrypt = '';

for($i = 0; $i < $iEncodeLenght; $i++) {
$iAsciiVal = ord($sEncode{$i});
$iAsciiVal += $iPass;
while($iAsciiVal > 255) {
$iAsciiVal -= 256;
}

$sCript .= chr($iAsciiVal);
}

return $sCript;
}

function shiftcipher_decode($sDecode, $sPass) {
$iPass = (crc32($sPass)%256);
$iDecodeLenght = StrLen($sDecode);
$sDecript = '';

for($i = 0; $i < $iDecodeLenght; $i++) {
$iAsciiVal = ord($sDecode{$i});
$iAsciiVal -= $iPass;
while($iAsciiVal > 255) {
$iAsciiVal -= 256;
}

$sDecript .= chr($iAsciiVal);
}

return $sDecript;
}


$var = shiftcipher_encode('Hello World', 'bla');
$var2 = shiftcipher_decode($var, 'bla');

var_dump($var, $var2);

?>



Ausgabe:
string(11) "ž¥¥¨Y¨«¥"
string(11) "Hello World"

netcup.de Warum gibt es hier Werbung?
Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt