tate: Wer kann mir eine VB-Funktion in PHP "übersetzen" ?

Beitrag lesen

Public Function Entschluesseln(ByVal Wert As String) As String

function Entschluesseln{
 $Wert = (string) "";

Dim base64 As String
         base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

$base64 = (string) "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

Dim key As String
         key = "wsxnAoedc1jief6xQit1nbhu6Jcpo1bvfq5dhgt0novB1rtlA" & _
                 "hjSalkgXiv2ater7ecsn2mlkd7Piez3ypkj8hacd3fghj2eiu" & _
                 "ndmfsdjtppl3hghj8sgfh3lglg8srtm6lokj1awsd6efMv3xb" & _
                 "nzgfnCkij4rm4lodp9kjud4egdn9Nplk9nhgr4tzgh9raid4s" & _
                 "loVpsjsix5ejf5gdmx0apFe5funb0irYm2fsdl7wzwe0hsTn5" & _
                 "qaA7lp"

$key[1]="hjSalkgXiv2ater7ecsn2mlkd7Piez3ypkj8hacd3fghj2eiu";
$key[2]="ndmfsdjtppl3hghj8sgfh3lglg8srtm6lokj1awsd6efMv3xb";
$key[3]="nzgfnCkij4rm4lodp9kjud4egdn9Nplk9nhgr4tzgh9raid4s";
$key[4]="loVpsjsix5ejf5gdmx0apFe5funb0irYm2fsdl7wzwe0hsTn5";

Dim decode As String
     Dim CodeZeile As String
     Dim Codiert As String
     Dim A As Integer
     Dim B As Integer
     Dim C As Integer
     Dim D As Integer
     Dim s As Integer
     Dim Erg As Integer

$decode=(string)"";
$CodeZeile=(string)"";
$codiert=(string)"";
$A=(integer)"";
$B=(integer)"";
$C=(integer)"";
$D=(integer)"";
$s=(integer)"";
$Erg=(integer)"";

If Len(Wert) > 32000 Then
             Entschluesseln = ""
             Exit Function
         End If

if(strlen($wert)>3200){
 $Entschlüsseln="";
 exit; //exit aber nur, wenn das Script wirklich NUR aus der Funktion besteht
}

While Len(Wert) > Len(key)
             DoEvents
             key = key & key
         Wend

while(strlen($Wert)>strlen($key)){
 $key=$key.$key;
}

' Base64
         decode = ""
         CodeZeile = Wert

$CodeZeile=$Wert;

For s = 1 To Len(CodeZeile) Step 4
             DoEvents
             A = InStr(base64, (Mid(CodeZeile, s + 0, 1))) - 1
             B = InStr(base64, (Mid(CodeZeile, s + 1, 1))) - 1
             C = InStr(base64, (Mid(CodeZeile, s + 2, 1))) - 1
             D = InStr(base64, (Mid(CodeZeile, s + 3, 1))) - 1

for($s=1;s>strlen($CodeZeile);s+4){
 // Ist dies hier wichtig oder kann man das auch anders lösen?
 // Etwas vergleichbares wie die InStr-Funktion gibt es in PHP nicht

If B >= 0 Then decode = decode & Chr((A * 4 + Int(B / 16)) And 255)
If C >= 0 Then decode = decode & Chr((B * 16 + Int(C / 4)) And 255)
If D >= 0 Then decode = decode & Chr((C * 64 + D) And 255)
Next s

if($B>=0){
 $decode=$decode.chr(($A*4)+($B/16)).chr(255);
}

if($C>=0){
 $decode=$decode.chr(($B*16)+($C/4)).chr(255);
}

if($D>=0){
 $decode=$decode.chr(($C*64)+$D).chr(255);
}

}

' Key zurück
         Codiert = ""
         For s = 1 To Len(decode)
             DoEvents
             Erg = Asc(Mid(decode, s, 1)) Xor Asc(Mid(myKey, s, 1))
             Codiert = Codiert & Chr(Erg)
         Next s

$Codiert="";

for($s=1;strlen($decode);s++){
 $Erg = chr(substr(substr($decode,$s,1),0,1))XOR(chr(substr(substr($mykey,$s,1),0,1)));
}

Entschluesseln = Codiert
End Function

$Entschlüsseln=$Codiert;

}