Verschlüsselung von Texten
Übersicht

![]() |
GameprogmanBetreff: Verschlüsselung von Texten |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hätte da mal mehrere Fragen:
1. wie verschlüsselt man texte so das man sie nur in dem Programm benutzen kann 2. wie prüft man ob dieser text benutzt wird 3. wie kann man prüfen ob in diesem verschlüsselten text etwas in der 1. oder 2. Zeile steht? 4. kann man eine .txt Datei direkt aus dem Programm heraus öffnen, wenn ja, wie? 5. wie kann man direkt aus dem Programm eine .txt Datei speichern? Danke schon mal im Foraus auf Antworten... |
||
www.bandradr.de ! Awesome ! |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Punkt 4 und 5 sollte ja wohl bekannt sein Oder?
erst mal die einfache Variante ohne Schleifen zu 5 Code: [AUSKLAPPEN] Dat = writefile("meinText.txt")
writeline dat,"meine erste Zeile" closefile dat zu 4 Code: [AUSKLAPPEN] Dat = readfile("meinText.txt")
If Not Eof(dat) Then ; Prüfung auf Dateiende b$ =readline (dat) end if closefile dat print b$ waitkey() Verschlüsselung geht mit Xor relativ einfach einfach mal hier suchen! Beschäftige dich erst mal mit Dateien, dann klappt das auch ... |
||
[BB2D | BB3D | BB+]
|
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und Fals du nicht suchen willst!Hier das gibts irgendwo im Code Archiv!
Code: [AUSKLAPPEN] lap$=Input$("Ursprungsdateipfad angeben:")
lu$=Input$("Arbeitskopiepfad angeben:") co$=Input$("Schlüssel:") file = ReadFile(lap$) file_out = WriteFile(lu$) file_out = WriteFile(lu$) Repeat line_$ = ReadLine$(file) For I = 1 To Len(Line_$) code$ = code$ + Chr$( Asc( Mid(line_$, I, 1) ) Xor co$) Next Until Eof(file) WriteLine file_out,code$ CloseFile file CloseFile file_out End PS:Betreung ist alles |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
auch wenn so etwas in ein paar sekunden entschlüsselt ist... | ||
Fragt und man wird euch helfen
Das Alternativ BlitzBasic-Forum: FreeCoder Einfach chatten: BlitzChat Code&Text schnell und einfach pasten: FreePasting |
- Zuletzt bearbeitet von noir am So, März 06, 2005 12:27, insgesamt einmal bearbeitet
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Noir der obige Code ist bloß als Hilfestellung zu eigenen Überlegungen gedacht.Auserdem wenn du dir den Code mal genauer anguckst wirst du feststellen das du den xor Faktor selbst einstellen musst und ich glaube nicht wenn du z.b den xor-Faktor 111.245 wählst das man die Verschlüsselung so schnell knackt. | ||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
schon klar das dies nur ein beispiel is, wollte es nur sagen!
aber bedenke die bitverschiebung mit xor geht nur mit ganzzahlen(integer), also keine kommazahlen (111.245) wenn du 111.245 nimmst, wird es einfach auf 111 abgerundet |
||
Fragt und man wird euch helfen
Das Alternativ BlitzBasic-Forum: FreeCoder Einfach chatten: BlitzChat Code&Text schnell und einfach pasten: FreePasting |
- Zuletzt bearbeitet von noir am So, März 06, 2005 12:27, insgesamt 2-mal bearbeitet
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ups stimmt!Naja versuch mal das zu knacken hab ich mit obigen Code verschlüsselt.Du wirst das knacken das ist klar aber ich denke das es schon länger als ein paar sekunden dauern wird.
l]@I\\M[\LGK@ZMK@\ |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schlüssel: 40
Text: "Du hattest doch recht" MfG D2006 |
||
Klaas |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also wichtig ist das nicht immer der selbe XOR Wert genommen wird !
Denn dadurch kann man statistische Attacken fahren. Hier mein ein simples Beispiel: Dies ist nicht sicher sondern soll nur zeigen was man unbedingt machen muß um eine nicht ganz so offensichtige verschlüsselung zu machen Code: [AUSKLAPPEN] value$ = "mein test" key$ = "123" v$ = crypt$(key$,value$) Print v Print decrypt$("123",v$) WaitKey ;----------------------------- simple crypting --------------------------------- Function crypt$(key$,value$) cc = quer(key$) vl = Len(value) kl = Len(key) For i=1 To vl x = (cc Mod kl) + 1 xk = Asc(Mid(key,x,1)) cc = cc + 1 xv = Asc(Mid(value,i,1)) txt$ = txt$ + Chr(xv Xor xk) Next Return txt End Function Function decrypt$(key$,value$) cc = quer(key$) vl = Len(value) kl = Len(key) For i=1 To vl x = (cc Mod kl) + 1 xk = Asc(Mid(key,x,1)) cc = cc + 1 xv = Asc(Mid(value,i,1)) txt$ = txt$ + Chr(xv Xor xk) Next Return txt End Function Function quer(txt$) l = Len(txt$) For i=1 To l x = x + Asc(Mid(txt,i,1)) Next Return x End Function Warum die Function quer ? dadurch wird verhindert das ein teilweise richtiger Key schon teilweise lesbare Ergebnisse gibt, denn wenn sonst alle bis auf einen Wert im Key stimmt so könnte man schon etwas lesen. (besser ist eine verschlüsselungs Matrix) Code: [AUSKLAPPEN] x = (cc Mod kl) + 1 xk = Asc(Mid(key,x,1)) cc = cc + 1 hier wird immer der nächste Buchstabe des codes gewählt um nicht imer den gleichen Xor wert zu nehmen. (auch hier ist eine Matrix sehr viel effektiver um die häufiogen wiederholungen zu umgehen) [/quote] |
||
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja, das is schon gleich viel schwieriger zu knacken!
sven123 mit 40 hast du es ja mehr als leicht gemacht... |
||
Fragt und man wird euch helfen
Das Alternativ BlitzBasic-Forum: FreeCoder Einfach chatten: BlitzChat Code&Text schnell und einfach pasten: FreePasting |
- Zuletzt bearbeitet von noir am So, März 06, 2005 12:28, insgesamt einmal bearbeitet
![]() |
frigi |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab mal ein programm geschrieben, um xor-verschlüsselungen zu knacken. damit ist es in ein paar millisekunden machbar.....also, sicher ist es mit nur einem schlüssel überhaupt nicht!
@noir: bei dem lösungsweg, den ich zum knacken gewählt habe ist es es ziemlich egal, ob es nun 40, 179, oder sonst irgent ein schlüssel ist. wieso hat er es dann also leicht gemacht? |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Verschlüsselung des Chats:Code: [AUSKLAPPEN] SeedRnd ***
Viel Spaß temppass$="" For i=1 To Len(passwort$) temppass$=temppass$+chr$(asc(mid$(passwort$,i,1)) Xor Rand(1,255)) Next ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
was soll denn das?
Ist ja sinnlos. Nicht zu gebrauchen. Was raus kommt ist ja immer anders, so dass man es ja auch nicht vergleichen kann. MfG |
||
Klaas |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nein, durch Seed wird schon immer das gleiche rauskommen ... solange zumindest sich nie der Seed bzw rand Befehl sich ändert
Das geht zwar aber dadurch ist diese verschlüsselung auf BB begrenzt .. nicht sehr gut wie ich meine |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich testete dies mal mit BladeRunner. Er hat mir eine EXE geschickt, aber es kamen trotzdem andere RAND Werte bei gleichem Seed raus. Das ging also nicht.
MfG |
||
Klaas |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jau, sowas kann dabei rauskommen ... besser zum verschlüsseln ist z.B. der md5 Hash vom Passwort zu nehmen .. das sind nahezu auch Zufallszahlen.
Bei Netzwerk ist auch wichtig immer einn "Salt" zu benutzen. Der Server übergibt dem Client eine Zufallszeichenkette, dann fügt der Client seinem Passwort diesen String dazu und bildet daraus die Verschlüsselungsmatrix (einfacher ist es den oben genannten md5 aus den beiden Strings zu nehmen). der server kennt ja auch Passwort und Zufallsstring und entschlüsselt dann. Wenn man das nicht macht kann man recht schnell auf das Passwort zurückschließen. Denn bei Netzwerkverkehr kennt man ja das Protokoll das ja immer gleich sein muß. Daraus kann man dann auf die Matrix schliessen und alle zukünftigen Übertragungen abhorchen. Wechselt man den Zufallsstring aber alle paar KB Übertragungsmenge haben statistische analysen nur sehr wenig material zum knacken. |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Interessanter Ansatz.
Hier übrigens ein kleines Porgramms, um die ganz einfachen XOR Verknüpfungen zu knacken. Basiert auf Häufigkeitsprüfungen. Könnte bei dem ein oder anderen langsam sein, da viele Text Befehle. Code: [AUSKLAPPEN] Graphics 900,600,0,2
SetBuffer BackBuffer() Dim anz$(255) Dim check#(255) SeedRnd MilliSecs() key = Rand(0,255) ; DIESE VARIABLE WIRD VERSCHLÜSSELT MIT EINEM ZUFALLSKEY UND DANACH WIEDER ENTSCHLÜSSELT ; da XOR symmetrisch arbeitet, kann hier auch schon ein verschlüsselter Text angegeben werden ; trotzdem wird der wahrscheinlich am weitesten/besten entschlüsselte Text angezeigt encrypt$ = "Das ist ein simpler Beispieltext. Eigentlich total simpel." ; ^^ decrypt$ = "" For t=1 To Len(encrypt$) decrypt$ = decrypt$ + Chr$(Asc(Mid$(encrypt$,t,1)) Xor key) Next co=0 Repeat line_$ = decrypt$ code$="" For I = 1 To Len(Line_$) code$ = code$ + Chr$( Asc( Mid(line_$, I, 1) ) Xor co) Next anz$(co)=code$ co=co+1 Until co=256 For t=0 To 255 check(t) = check_it(anz$(t)) If (t Mod 2) Then Cls Rect 250,280,400,40,0 Rect 250,280,400*t/255.0,40,1 Flip EndIf Next sort() start=0 While Not KeyHit(1) Delay 5 Cls y=0 For t=start To start+49 c = 50+360*check#(t) If c>255 Then c=255 Color c,c,c Text 10,y,t Text 40,y,Int(check#(t)*1000)/10.0 Text 80,y,anz$(t) y=y+12 Next If KeyDown(200) And start>0 Then start=start-1 If KeyDown(208) And start<206 Then start=start+1 Flip Wend End Function check_it#(dat$) Local t,a,cor# For t=1 To Len(dat$) If Asc(Mid$(dat$,t,1))<32 Then a=a+1 Next If a>0 Then cor# = 1.0 / Float(a) cor# = cor# + check_it2#(dat$) cor# = cor# + check_it3#(dat$) cor# = cor# + check_it4#(dat$) cor# = cor# + check_it5#(dat$) cor# = cor# + check_it6#(dat$) cor# = cor# / 6.0 If cor#<0 Then cor#=0 Return cor# End Function Function check_it2#(dat$) ; seltsames Zeichen Local a,t,s For t=1 To Len(dat$) s = Asc(Mid$(dat$,t,1)) If s>126 And s<188 Then a=a+1 Next If s>0 Then Return 1.0 / Float(s) Return 1 End Function Function check_it3#(dat$) ; Leerzeichen Local t,a,spl# For t=1 To Len(dat$) If Mid$(dat$,t,1)=" " Then a=a+1 Next spl# = Float(a)/Float(Len(dat$)) spl# = 1-Abs(1 - spl#/.132) Return spl# End Function Function check_it4#(dat$) ; 'E's Local t,a,spl# For t=1 To Len(dat$) If Mid$(dat$,t,1)="e" Then a=a+1 Next spl# = Float(a)/Float(Len(dat$)) spl# = 1-Abs(1 - spl#/.137) Return spl# End Function Function check_it5#(dat$) ; aus seltenem Bereich (ASCII>126) Local t,a,spl# For t=1 To Len(dat$) If Asc(Mid$(dat$,t,1))>126 Then a=a+1 Next spl# = Float(a)/Float(Len(dat$)) spl# = 1-Abs(1 - spl#/.014) Return spl# End Function Function check_it6#(dat$) ; verschiedene seltene Zeichen Local list$="²³$+*-/{[]}",d$,t,a,spl#,j For t=1 To Len(dat$) d$=Mid$(dat$,t,1) For j=1 To 11 If d$ = Mid$(list$,j,1) Then a=a+1:Exit Next Next spl# = Float(a)/Float(Len(dat$)) spl# = 1-Abs(1 - spl#/.0015) Return spl# End Function Function sort() Local tmp1$,tmp2#,ch Repeat ch=0 For t=0 To 254 If check(t) < check(t+1) Then tmp1$ = anz$(t) anz$(t)=anz$(t+1) anz$(t+1)=tmp1$ tmp2# = check(t) check(t)=check(t+1) check(t+1)=tmp2# ch=1 EndIf Next Until ch=0 End Function Somit kann man zB Svens Text schnell entschlüsseln. Durch die Sortierung geht allerdings der Key verloren. Eventuell den Befehl "sort()" auskommentieren. MfG D2006 |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nur gleiche Blitzversionen (also B3D, B+, blabla) ergeben bei gleichem SeedRnd immer gleiche Zufallsfolgen. Ich verwende es ja schon lange hier und es gab nie Probleme ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Klaas |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
so, hier mal eine aufwändigere Verschlüsselung
Wie man beim Ausführen sieht entstehen kaum Wiederholungen obwohl der Inhalt voller Wiederholungen ist. Also für nen Profi ist das sicher noch sehr lächerlich ... aber ich sag mal für den Durchschnitsprogger nicht zu knacken. Wenn man den "Salt" wie oben erklärt häufig wechselt sollten sich kaum Wiederholungen finden um das ganze statistisch auszuwerten. Das ganze läßt sich auch für Streams nutzen ... nur muß man sichergehen das man immer komplette Daten hat da das system sich mit jedem Zeichen ändert. Das kann bei UDP Streams probleme bereiten. Dadurch das hier md5 benutzt wird ist auch egal wie lang das Passwort ist .. natürlich nicht wenn man Bruteforce methoden benutzt. Code: [AUSKLAPPEN] Graphics 800,600,32,2 Global key$ Global bkey$ Global cc,kl,bkl value$ = "ebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebhebh" mykey$ = "1" initCrypt(mykey$) v$ = crypt$(value$) Print v initCrypt(mykey$) Print decrypt$(v$) Print "Taste drücken um Wiederholungen im String zu finden" WaitKey ;-------------------------------- Analyse -------------------------------------- Length = Len(v) For i=3 To length For l2=1 To Length test$ = Mid(v$,l2,i) For l1=1 To Length substr$ = Mid(v$,l1,i) If(substr$ = test) Then If l1 <> l2 Then ;Print substr+" = "+test doubles = doubles + 1 End If End If Next Next Next Print "Wiederholungen="+doubles WaitKey ;----------------------------- simple crypting --------------------------------- Function crypt$(value$) vl = Len(value) For i=1 To vl x = (cc Mod kl) + 1 xk = Asc(Mid(key,x,1)) cc = Asc(Mid(bkey,(i Mod bkl) + 1,1)) Xor xk xv = Asc(Mid(value,i,1)) txt$ = txt$ + Chr(xv Xor xk) Next Return txt End Function Function decrypt$(value$) vl = Len(value) For i=1 To vl x = (cc Mod kl) + 1 xk = Asc(Mid(key,x,1)) cc = Asc(Mid(bkey,(i Mod bkl) + 1,1)) Xor xk xv = Asc(Mid(value,i,1)) txt$ = txt$ + Chr(xv Xor xk) Next Return txt End Function Function initCrypt(newkey$) key$ = md5(newkey) kl = Len(key) cc = quer(newkey$) bkey$ = md5(key) + Left(key,15) bkl = Len(bkey) End Function Function quer(txt$) l = Len(txt$) For i=1 To l x = x + Asc(Mid(txt,i,1)) Next Return x End Function ;-------------------------------------md5----------------------------- ;Derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm ;This array needs to be here for Blitz Dim MD5_x(0) ;The main MD5 function Function MD5$(sMessage$) ;Pads the String as per the MD5 standard nblk = ((Len(sMessage$) + 8) Shr 6) + 1 ;number of 16-word blocks Dim MD5_x(nblk * 16 - 1) ;Zero pad the string For i = 0 To nblk * 16 - 1 MD5_x(i) = 0 Next ;Convert to array of "words" For i = 0 To (Len(sMessage$) - 1) MD5_x((i Shr 2)) = MD5_x((i Shr 2)) Or (Asc(Mid(sMessage$, (i + 1), 1)) Shl ((i Mod 4) * 8)) Next MD5_x((i Shr 2)) = MD5_x((i Shr 2)) Or (128 Shl (((i) Mod 4) * 8)) MD5_x(nblk * 16 - 2) = Len(sMessage$) * 8 ;Set initial values MD5_a = 1732584193 ;&H67452301 MD5_b = -271733879 ;&HEFCDAB89 MD5_c = -1732584194 ;&H98BADCFE MD5_d = 271733878 ;&H10325476 ;Loop through the words For k = 0 To (nblk * 16 - 1) Step 16 MD5_AA = MD5_a MD5_BB = MD5_b MD5_CC = MD5_c MD5_DD = MD5_d ;Round 1 MD5_a = MD5_FF(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 0), 7, -680876936) ;&HD76AA478 MD5_d = MD5_FF(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 1), 12, -389564586) ;&HE8C7B756 MD5_c = MD5_FF(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 2), 17, 606105819 );&H242070DB MD5_b = MD5_FF(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 3), 22, -1044525330) ;&HC1BDCEEE MD5_a = MD5_FF(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 4), 7, -176418897) ;&HF57C0FAF MD5_d = MD5_FF(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 5), 12, 1200080426 );&H4787C62A MD5_c = MD5_FF(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 6), 17, -1473231341) ;&HA8304613 MD5_b = MD5_FF(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 7), 22, -45705983) ;&HFD469501 MD5_a = MD5_FF(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 8), 7, 1770035416) ;&H698098D8 MD5_d = MD5_FF(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 9), 12, -1958414417 );&H8B44F7AF MD5_c = MD5_FF(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 10), 17, -42063 );&HFFFF5BB1 MD5_b = MD5_FF(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 11), 22, -1990404162) ;&H895CD7BE MD5_a = MD5_FF(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 12), 7, 1804603682) ;&H6B901122 MD5_d = MD5_FF(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 13), 12, -40341101) ;&HFD987193 MD5_c = MD5_FF(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 14), 17, -1502002290) ;&HA679438E MD5_b = MD5_FF(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 15), 22, 1236535329) ;&H49B40821 ;Round 2 MD5_a = MD5_GG(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 1), 5, -165796510) ;&HF61E2562 MD5_d = MD5_GG(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 6), 9, -1069501632) ;&HC040B340 MD5_c = MD5_GG(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 11), 14, 643717713) ;&H265E5A51 MD5_b = MD5_GG(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 0), 20, -373897302) ;&HE9B6C7AA MD5_a = MD5_GG(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 5), 5, -701558691) ;&HD62F105D MD5_d = MD5_GG(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 10), 9, 38016083) ;&H2441453 MD5_c = MD5_GG(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 15), 14, -660478335) ;&HD8A1E681 MD5_b = MD5_GG(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 4), 20, -405537848) ;&HE7D3FBC8 MD5_a = MD5_GG(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 9), 5, 568446438) ;&H21E1CDE6 MD5_d = MD5_GG(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 14), 9, -1019803690) ;&HC33707D6 MD5_c = MD5_GG(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 3), 14, -187363961) ;&HF4D50D87 MD5_b = MD5_GG(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 8), 20, 1163531501) ;&H455A14ED MD5_a = MD5_GG(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 13), 5, -1444681467) ;&HA9E3E905 MD5_d = MD5_GG(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 2), 9, -51403784) ;&HFCEFA3F8 MD5_c = MD5_GG(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 7), 14, 1735328473) ;&H676F02D9 MD5_b = MD5_GG(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 12), 20, -1926607734) ;&H8D2A4C8A ;Round 3 MD5_a = MD5_HH(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 5), 4, -378558) ;&HFFFA3942 MD5_d = MD5_HH(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 8), 11, -2022574463) ;&H8771F681 MD5_c = MD5_HH(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 11), 16, 1839030562) ;&H6D9D6122 MD5_b = MD5_HH(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 14), 23, -35309556) ;&HFDE5380C MD5_a = MD5_HH(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 1), 4, -1530992060) ;&HA4BEEA44 MD5_d = MD5_HH(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 4), 11, 1272893353) ;&H4BDECFA9 MD5_c = MD5_HH(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 7), 16, -155497632) ;&HF6BB4B60 MD5_b = MD5_HH(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 10), 23, -1094730640) ;&HBEBFBC70 MD5_a = MD5_HH(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 13), 4, 681279174) ;&H289B7EC6 MD5_d = MD5_HH(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 0), 11, -358537222) ;&HEAA127FA MD5_c = MD5_HH(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 3), 16, -722521979) ;&HD4EF3085 MD5_b = MD5_HH(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 6), 23, 76029189) ;&H4881D05 MD5_a = MD5_HH(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 9), 4, -640364487) ;&HD9D4D039 MD5_d = MD5_HH(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 12), 11, -421815835) ;&HE6DB99E5 MD5_c = MD5_HH(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 15), 16, 530742520) ;&H1FA27CF8 MD5_b = MD5_HH(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 2), 23, -995338651) ;&HC4AC5665 ;Round 4 MD5_a = MD5_II(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 0), 6, -198630844) ;&HF4292244 MD5_d = MD5_II(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 7), 10, 1126891415) ;&H432AFF97 MD5_c = MD5_II(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 14), 15, -1416354905) ;&HAB9423A7 MD5_b = MD5_II(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 5), 21, -57434055) ;&HFC93A039 MD5_a = MD5_II(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 12), 6, 1700485571) ;&H655B59C3 MD5_d = MD5_II(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 3), 10, -1894986606) ;&H8F0CCC92 MD5_c = MD5_II(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 10), 15, -1051523) ;&HFFEFF47D MD5_b = MD5_II(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 1), 21, -2054922799) ;&H85845DD1 MD5_a = MD5_II(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 8), 6, 1873313359) ;&H6FA87E4F MD5_d = MD5_II(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 15), 10, -30611744) ;&HFE2CE6E0 MD5_c = MD5_II(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 6), 15, -1560198380 );&HA3014314 MD5_b = MD5_II(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 13), 21, 1309151649) ;&H4E0811A1 MD5_a = MD5_II(MD5_a, MD5_b, MD5_c, MD5_d, MD5_x(k + 4), 6, -145523070) ;&HF7537E82 MD5_d = MD5_II(MD5_d, MD5_a, MD5_b, MD5_c, MD5_x(k + 11), 10, -1120210379) ;&HBD3AF235 MD5_c = MD5_II(MD5_c, MD5_d, MD5_a, MD5_b, MD5_x(k + 2), 15, 718787259) ;&H2AD7D2BB MD5_b = MD5_II(MD5_b, MD5_c, MD5_d, MD5_a, MD5_x(k + 9), 21, -343485551) ;&HEB86D391 MD5_a = MD5_a + MD5_AA MD5_b = MD5_b + MD5_BB MD5_c = MD5_c + MD5_CC MD5_d = MD5_d + MD5_DD Next Return (WordToStr$(MD5_a) + WordToStr$(MD5_b) + WordToStr$(MD5_c) + WordToStr$(MD5_d)) End Function Function MD5_F(x, y, z) Return (x And y) Or (~(x) And z) End Function Function MD5_G(x, y, z) Return (x And z) Or (y And (~(z))) End Function Function MD5_H(x, y, z) Return (x Xor y Xor z) End Function Function MD5_I(x, y, z) Return (y Xor (x Or (~(z)))) End Function Function MD5_FF(a, b, c, d, x, s, ac) a = (a + ((MD5_F(b, c, d)+ x)+ ac)) a = RotateLeft(a, s) Return a + b End Function Function MD5_GG(a, b, c, d, x, s, ac) a = (a + ((MD5_G(b, c, d) + x) + ac)) a = RotateLeft(a, s) Return a + b End Function Function MD5_HH(a, b, c, d, x, s, ac) a = (a + ((MD5_H(b, c, d) + x) + ac)) a = RotateLeft(a, s) Return a + b End Function Function MD5_II(a, b, c, d, x, s, ac) a = (a + ((MD5_I(b, c, d) + x) + ac)) a = RotateLeft(a, s) Return a + b End Function Function RotateLeft(lValue, iShiftBits) Return (lValue Shl iShiftBits) Or (lValue Shr (32 - iShiftBits)) End Function Function WordToStr$(lValue) For lCount = 0 To 3 lByte = (lValue Shr lCount * 8) And 255 ToHex$ = ToHex$ + Chr(lByte) Next Return ToHex$ End Function |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dee hat da was durcheinander geschmissen: bei gleichem seed von gleicher Blitzversion klappte es schon.
was nicht ging war dass Dee (Blitz+) und ich (B3D) dasselbe .bb-file verwendeten. Daher musste ich ihm ja die .exe schicken, dann ging es nämlich. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group