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

verschlüsselungs problem

Status
Für weitere Antworten geschlossen.
G

Gelöschtes Mitglied 3007

Guest
Ich habe hier mal versucht erstmal alle zeichen durch eine zahl zu ersetzen aber ich bin leider schon am anfang gescheitert...

das script sollte mir den verschlüsselten wert und den wieder entschlüsselten wert ausgeben...

jetzt habe ich das problem, das der mir das hier ausgibt...

036036203634036036036036310360360362036340363303635036036203634036
00203400003100020340330350020340

das obere sollte eigentlich das verschlüsselte pw sein und das untere das entschlüsselte...

naja irgendwie gehts halt nicht ^^

Hier etzt nochmal das script (bitte helft mir ^^):
PHP:
<?php
function crypt1($wert,$dec=0)
{
$zeichen = array(" ","a","b","c","d","e","f","g","h","i","j","k",
				 "l","m","n","o","p","q","r","s","t","u","v","w",
				 "x","y","z","1","2","3","4","5","6","7","8","9",
				 "0");

$zahlen = array("000","001","002","003","004","005","006","007",
				"008","009","010","011","012","013","014","015",
				"016","017","018","019","020","021","022","023",
				"024","025","026","027","028","029","030","031",
				"032","033","034","035","036");

	if($dec == 0){
		$wert = str_replace($zeichen,$zahlen,$wert);
	} elseif($dec == 1) {
		$wert = str_replace($zahlen,$zeichen,$wert);
	}
	return $wert;
}

$test = "test";
$ctest = crypt1($test);
echo $ctest."<br />\n"; // das verschlüsselte wort
echo crypt1($ctest,1)."<br />\n"; // eigentlich das entschlüsselte wort ;(
?>

MFG
 
Werbung:
Das liegt an deiner verschlüsselung.

wenn du a und b umwandelst kommt 001002 heraus
in einer langen zeichenkette kann es aber nun als 00 10 002 Interpretiert werden, dadurch bekommst du ein falsches ergebnis

Folgender Code
Code:
001002003004005006007008009
könnte das ausgeben
Code:
0 i t 3 4 d e f g h

weil php bei deinen Zahlen "Durcheinander kommt"

benutz doch einfach scha1() oder md5()
 
Zuletzt bearbeitet:
danke... hab auch schon an so eine möglichkeit gedacht... allerdings verschlüsselt der bei dieser methode garnichts... ausgabe ist

test // sollte verschlüsselt sein
test // sollte das wiederhergestellte PW sein

hat vielleicht noch einer ne idee? :)

// edit wegen antwort:

naja das is natürlich plöde... hab gedacht das php am anfang anfängt zu suchen und nicht einfach mittendrin -.-'
und ich will das nicht nach MD5 verschlüsseln das hat nichts mit passwörtern zu tun ^^ wollte einfach nur selber mal gucken ob ich sowas zum verschlüsseln (später dan in OOP) selber basteln könnte :-[

naja dan halt nicht ^^

vilen dank ^^
 
Werbung:
Wie wärs, wenn du So was ähnliches Wie md5 machst? Also dem Prinzip folgst:
Es gibt keine Entschlüsselung.
Nur verschlüsseln und zum vergelichen das pw auch verschlüsseln.
 
joa is zwar ne gute idee aber dan muss man erstmal wissen wie ;) ^^ (und ich weiß es leider nicht :-[)
 
das ist ganz einfach ;)

du speicherst das verschlüsselte pw in der datenbank. beim login oder ähnlichem verschlüsselst du einfach das eingegebene passwort und vergleichst es mit dem aus der Datenbank; also so(mit dem Beispiel md5()):

PHP:
//$sql: Daten aus der Datenbank im Array

//Überprüfung des Passworts
if(md5($_POST['pass']) == $sql['pw'])
{
     echo"richtiges Passwort";
}
else
{
     echo"falsches Passwort";
}
 
Werbung:
ehm... *hust*
ich kann PHP xD ich komme nur nicht drauf wie ich einen begriff selber verschlüsseln sollte und zwar so das man das nicht wieder zurückrechnen kann... ;)

//Edit: ich meine selber verschlüsseln und zwar nicht mit ner php funktion wie md5 sondern praktisch mit meiner eigennen funktion ^^
 
ich würde das dann so machen:
PHP:
<?php
//Fuer a
$a_zeichen = array("01§!", "01!=", "01§$");
//Fuer b
$b_zeichen = array("02§!", "02!=", "02§$");
//Fuer c
$c_zeichen = array("03§!", "03!=", "03§$");
//Fuer d
$d_zeichen = array("04§!", "04!=", "04§$");
// ... usw (ist halt nen langer code! cannste ja includen)

//dann:
$zahl = rand(0,2); /*damit du nen Zufalls Index für die oben gennanten arrays hast */
$pas = "ab";
$pas = str_replace("a", $a_zeichen[$zahl], $pas);
$pas = str_replace("b", $b_zeichen[$zahl], $pas);
//usw....
echo $pas;
?>
So könntest du ein Passwort verschlüsseln...
ist aber ne Menge Quellcode für so was unwichtiges :p

greez web_spider :D
 
nimm einfach das was du schon hast und mix damit einwenig rum.
Könnte dann z.b. so aussehen
PHP:
<?php
class Convert
{
    function getConverted($val)
    {
        $zeichen = array(" ","a","b","c","d","e","f","g","h","i","j","k",
                 "l","m","n","o","p","q","r","s","t","u","v","w",
                 "x","y","z","1","2","3","4","5","6","7","8","9",
                 "0"
        );

        $zahlen = array(" 0"," 1"," 2"," 3"," 4"," 5"," 6"," 7",
                " 7"," 9"," 10"," 11"," 12"," 13"," 14"," 15",
                " 16"," 17"," 18"," 19"," 20"," 21"," 22"," 23",
                " 24"," 25"," 26"," 27"," 28"," 29"," 30"," 31",
                " 32"," 33"," 34"," 35"," 36"
        );
        for($i=0;$i < count($zeichen); $i++)
        {
            $val = str_replace($zeichen[$i],$zahlen[$i],$val);
        }
        $val = str_replace(" ","",$val);
        for($i=0;$i < count($zeichen); $i++)
        {
            $val = str_replace($zahlen[$i],$zeichen[$i],$val);
        }
        $val = str_replace(" ","",$val);
        for($i=0;$i < count($zeichen); $i++)
        {
            $val = str_replace($zeichen[$i],$zahlen[$i],$val);
        }
        $val = str_replace(" ","",$val);
        for($i=0;$i < count($zeichen); $i++)
        {
            $val = str_replace(trim($zahlen[$i]),$zeichen[$i],$val);
        }
        for($i=0;$i < count($zeichen); $i++)
        {
            $val = str_replace($zeichen[$i],trim($zahlen[$i]),$val);
        }
        $val = substr($val,-50);
        return $val;
    }
}

$convert = new Convert;
echo $convert->getConverted("Hello World");
?>

//EDIT
Manno zu lahm ^^

//EDIT 2
@Web Spider:
durch dien Rand(0,2) lässt sich der verschlüsselte code nicht mehr überprüfen, da 3 verschiedene ergebnisse enstehen können.
Wie willst du damit also ein Passwort verschlüsseln und anschließend überprüfen?
 
Werbung:
stellt euch doch nich so an ;) Speicher den zufallsindex einfach als erstes letztes oder auch irgendwo in der Mitte in den String. Aus ende, schon musste nur den Index zuerst rausfiltern und dann kannste vergleichen.

LG Tobi
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben