#1 19. Februar 2007 hi... leider bin ich des Python nicht gerade mächtig, deshalb bräuchte ich folgendes Pythonscript nach PHP übersetzt: PHP: def encrypt ( str ): m_key = "FILEZILLA1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" pos = len ( str ) % len ( m_key ) ret = '' for i in range ( 0 , len ( str )): tmp = ret ret = "%s%03d" % ( tmp , ord ( str [ i ]) ^ ord ( m_key [( i + pos ) % len ( m_key )])) return ret wär einer so lieb und hilft mir? bewertung sicher... + Multi-Zitat Zitieren
#2 19. Februar 2007 AW: Pythonscriptchen nach PHP konvertieren vllt kann ich dir ein bisschen helfen: PHP: pos = len ( str ) % len ( m_key ) => führt eine Modulberechnung aus (siehe http://www.rg16.asn-wien.ac.at/~python/how2think/kap04.htm) PHP: for i in range ( 0 , len ( str )): => normale for-schleife von 0 bis zur länge des strings was in dem schleifenrumpf passiert kann ich leider nicht genau sagen. auf jedenfall wird am anfang der string geschrieben ("%s%03d"). das wird durch das %s gekennzeichnet. was in der klammer steht. kann ich dir leider nicht genau sagen. woher kommt eigentlich die var ord her??? zu dem "Dachzeichen" habe ich folgendes gefunden: http://www.dimk.de/index.php?index=745 ich hoffe es hilft dir einbisschen + Multi-Zitat Zitieren
#3 19. Februar 2007 AW: Pythonscriptchen nach PHP konvertieren Interessehalber: Was für ein Algorithmus ist das? PHP: function encrypt ( $str ){ $m_key = 'FILEZILLA1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' ; $pos = strlen ( $str ) % strlen ( $m_key ); $ret = '' ; for ( $i = 0 ; $i < strlen ( $str ); $i ++) { $tmp = $ret ; $ret = sprintf ( '%s%03d' , $tmp , ord ( $str [ $i ]) ^ ord ( $m_key [( $i + $pos ) % strlen ( $m_key )])); } return $ret ;} // edit @harry: Modulo "%s%03d" ist eine Formatierungsanweisung, %s bezeichnet den ersten Parameter (tmp), der wird als String geschrieben. %03d bezeichnet den zweiten Parameter, der als Integer geschrieben und bis auf die Länge 3 mit Nullen aufgefüllt. Aus 7 wird also z.B. 007. ord() ist eine Funktion und gibt das ASCII-Wert eines Zeichens zurück. Gegenstück dazu ist chr(). Hab mir den Link nicht angeschaut, das "Dachzeichen" oder Combining Circumflex Accent, ist der Operator für ein bitweises XOR. + Multi-Zitat Zitieren
#4 19. Februar 2007 AW: Pythonscriptchen nach PHP konvertieren ist der symmetrische Verschlüsselungsalgo, mit dem beim FileZilla FTP-Server die Passwörter gespeichert werden. gut... dass das "^" ein bitweises XOR ist hilft mir dann doch sehr weiter, kannte das in PHP garnicht... thx. für die Übersetzung; Bewertung gibts... + Multi-Zitat Zitieren