• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Verschlüsselung mit str_replace ??

Assassins

Neues Mitglied
Hallo Community,
ich habe da eine Frage!

Ich habe eine Plattform wo User unter einander Privat Nachrichten austauschen können. Doch leider ist da der Sicherheitsaspekt nicht gegeben!

Weshalb ich mir überlegt habe, den Text mit str_replace zu Splitten, und das die Zeichen eine Nummer erhalten..

Beispiel:
a -> 422
b -> 873
-> 999

Also das alle Buchstaben irgendein Kombination erhalten, und ich diesen dann in der Datenbank speicher!

Mir stellt sich nur die Frage,
ob a) diese Möglichkeit Sinnvoll ist
und b) auch Sicher ist?

Denn eigentlich können ja "Hacker" mein PHP-Code nicht einlesen, also auch nicht die Formel, welcher Buchstabe welchen Code hat..

Würde sich eures Erachtens der Aufwand lohnen?

Denn ein Text einfach so zu übernehmen und in der Datenbank zu speichern, finde ich sehr naja .. WhatsApp mäßig ;-)
 
Werbung:
Hi Assassins!

Ich würde davon abraten. Zum einen ist dein Modell leicht zu knacken (die häufigste Zahl wird dem e entsprechen, die zweithäufigste dem r etc.) zum anderen gibt es erprobte Konzepte, die eine bessere Verschlüsselung erledigen. Blowfisch ist zum Beispiel ganz nett, gibts auch schon fertig als php-Skript. Das ermöglicht eine symmetrische Verschlüsselung, du kannst also nicht nur verschlüsseln (wie mit md5), sondern auch wieder entschlüsseln.

Grüße!

Bodil
 
Hallo Assassins,

ich habe die Verschlüsselung so gemacht:
PHP:
<?php
//Passwort
$pw = "Hallo";

//Zeichenkette zerlegen$lg = strlen($pw);

//for-Schleife für jeden Buchstaben der Zeichenkette
for($i=0; $i<$lg; $i++){    
$char = substr($pw, $i, 1);    
$code = ord($char);    
//Wichtigster Teil der Verschlüsselung Erklärung unten ! *
$newcode = $code + 6;   
 $newchar = chr($newcode);
}    
//salt Bilden, den musst du den extra nocheinmal abspeichern, in der DB und beim Login vergleichen
$salt = md5(mt_rand());
//md5
$hash = md5($salt, $newchar);
//letzendlcih noch eine crypt-Verschlüsselung
$newhash = crypt($hash, "cs");
echo $newhash;
?>

So jz zu der erklärung:

* Also die Zeichenkette wird komplett auseinander gelegt und anschließend in einer for Schleife um je ein Buchstaben erhöht!
Bedeutet: aus einem A wird (wenn man um 6 erhöht) ein F und so weiter..
Aus B wird G
Immer so weiter das gleiche mit Zahlen 1 wird 6
2 wird 7

Jedes Zeichen hat eine ZuordnungsID z.B. A eine 1. Und diese Zahl wird jz im 6 erhöht!

UM zusehen welches Zeichen welche Nummer hat, kannst du diesen PHP Code nehmen:
einfach Ausführen ;)

PHP:
<html><body>
<?php   
echo "<table>";   
for ($i=4; $i<16; $i++)   {      
echo "<tr>";      
for ($k=0; $k<8; $k++)      
{         
echo "<td align='right'>" . ($i*8+$k) . ":</td><td><b>" . chr($i*8+$k) . "</b></td>";      
}      
echo "</tr>";   
}   
echo "</table>";
?>
</body></html>

Ich hoffen ich konnte dir helfen :)

Grüße djfabi
 
Werbung:
Zurück
Oben