verschlüsslung
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
addition
all
beide bit
beispiel
beitrag
beschrieb
bit
buchstabe
gen
gewissem sinne
haben
internen startwert
klasse
mathematische funktion
operator
pawort
relativ
test
thank
zufallsgenerator
-
hi @ all
ich wollte ein script zum verschl?sseln mit key schreiben und hatte eigentlich vor den text erst mit str replace in zahlen umzuwandeln also a 1 und so weiter das gleiche mit dem key und dann z.Bsp. den key mit dem text addieren. aber wenn a 1 und h 11 dann kriege ich nat?rlich zwei a raus hat jemand ne idee wie man das machen kann -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dazu musst du zwischen den Zeichen immer einen Seperator einf?gen, z.B. | oder ., anders gibts da keine vern?nftige L?sung anstatt statt Zahlen zeichen zu verwenden also a -> o
@Vorposter
Nein, md5 hilft ihm nichts er will unter anderem das er sicher auch wieder entschl?sseln m?chte auch mit $key verschl?sseln.
Au?erdem ist md5 ein Pr?fsummengenerator, nicht unbedingt ein Verschl?sselungsalgorythmus
Beitrag ge?ndert am 4.01.2006 22:15 von redcow -
schon ma danke aber wie kann ich dann damit eine verschl?sslung mit key machen also z.bsp. key+text und beim entschl?sseln text-key
-
wie krig ich den asc 2 wert
-
wie krig ich den asc 2 wert
mit ord()
http://www.selfphp.de/funktionsreferenz/string_funktionen/ord.php
Die Verschl?sselung mit einer Addition, die jedesmal den selben Wert drauf addiert, ist aber sehr unsicher. Du soltest dir eine mathematische Funktion suchen, die unregelm??ige Werte erzeugt, die du addieren kannst.
Diese mathematische funktion stellt dann auch den Schl?ssel im gewissem Sinne dar. -
wie kann ich das dann wieder zur?ck in buchstaben rechnen?
-
Hi,
zur?ck in buchstaben mit chr().
Wenn du eine eigene Verschl?sselung programmieren willst, w?rde ich zuerst alle Zeichen logischerweise in deren ASCII-code mit ord() umwandeln, und dann mit den bitweisen operatoren ^, |, & und ~ verschl?sseln.
Am besten noch mit einem Zweiten string (bzw. Passwort), dann kannst du den Verschl?sselten String auch wieder entschl?sseln.
Noch zu den Operatoren:
^: wenn eines der bit 1 ist, aber nicht beide, dann 1. z.B. 10010110 ^ 01001110 wurde 11011000 ergeben.
|: wenn eines der beiden bit 1 ist, dann 1. z.B. 10010110 | 01001110 wurde 11011110 ergeben.
&: wenn beide bit 1 sind, dann 1. z.B. 10010110 & 01001110 wurde 00000110 ergeben.
~: dreht alle bit um. ~10110010 ergibt 01001101.
Du musst jedoch z.B. 106 ^ 205 schreiben, nicht mit den bit, denn wenn du es mit den bit machst, geht es nicht.
Ein Beispiel:
function encode($str,$pw) { $encoded = ""; $j = 0; for ($i = 0; $i < strlen($str); $i++) { $chrc = ord($str[$i]) ^ ord($pw[$j]); $encoded .= chr($chrc); $j++; if ($j == strlen($pw)) $j = 0; } return $encoded; } echo encode("Der text hier","geheim123");
Um es zu entschl?sseln, musst du es einfach verkehrt rum mahen.
mfg,
hr
Beitrag ge?ndert am 5.01.2006 12:57 von heavyraptor -
Mal eine Verschl?sselung, welche relativ sicher solange keiner den Schl?ssel kennt ist.
1. Du bestimmst eine Schl?ssel (ist eine Zahl).
2. Dann legst du einen internen Startwert f?r den Zufallsgenerator mit rsand($Schl?ssel) fest.
3. Dann Bestimmst du den ASCII-Wert des Zeichens.
4. Du addierst eine 'Zufallszahl' zu den ASCII-Wert und bestimmst somit das neue Zeichen.
Entschl?sseln ist ?hnlich nur dass man dann in 4. nicht addiert sonder Subtrahiert.
P.S. vielleicht benutzt du besser mt_srand und mt_rand. ;)
Jens -
Das mit dem addieren ist eine schlechte Idee... was ist, wenn du 200 mit 192 addierts? dann hast du mehr als 255 und dann gibt es probleme. Viel besser ist, wie ich schon sagte, man benutzt die bitweisen Operatoren. Dann bleibt es immer zwischen 0 und 255.
mfg,
hr -
thanks for all funzt
-
Das mit dem addieren ist eine schlechte Idee... was ist, wenn du 200 mit 192 addierts? dann hast du mehr als 255 und dann gibt es probleme. Viel besser ist, wie ich schon sagte, man benutzt die bitweisen Operatoren. Dann bleibt es immer zwischen 0 und 255.
mfg,
hr
Schon mal etwas von der Modulofunktion geh?rt?
Dann sollte die Zufallszahl zwischen 0 und 255 liegen.
Jens -
Ja klar, das ist ja was ich meine.
Ich dachte addieren mit + aber eben, mit ^ und so geht es ja.
mfg,
hr -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage