Ich Frage hier mal was für ein guten Kumpel vielleicht kann Ihn ja mal jemand weiter helfen,
meine PHP Kenntnisse versagen..
Er will sein VB Code in PHP realisieren.
VB Code:
Private Function MD5(input As String) As Byte() Dim provider As New MD5CryptoServiceProvider() Dim data As Byte() = Encoding.Default.GetBytes(input) Return provider.ComputeHash(data) End Function Private Function Decrypt(input As String, password As String) As String Dim data As Byte() = Convert.FromBase64String(input) Dim pass As Byte() = MD5(password) For i As Integer = 0 To data.Length - 1 data(i) = data(i) Xor pass(i Mod pass.Length) Next Return Encoding.Default.GetString(data) End Function Dim D As String() = {} Try D = New WebClient().DownloadString(Url).Split(CChar("#")) Catch ex As Exception MessageBox.Show(ex.ToString) End Try Dim ToS As String = String.Empty If D.Count = 0 Then Exit Sub For Each p As String In D If Not Regex.IsMatch(p, "\[\d{4,4}-\d{2,2}-\d{2,2} \d{2,2}:\d{2,2}:\d{2,2}\]") AndAlso p.Length > 10 Then ToS &= Decrypt(p, "TESTI") & Environment.NewLine Else ToS &= p & Environment.NewLine End If Next
PHP Code bisher :
<?php error_reporting(-1); ini_set('display_errors', '1'); $Fil = 'TESTDATEI.txt'; if (file_exists($Fil)) { echo 'Bin schon angekommen hier'; $Endd = ""; $d = explode("#" , file_get_contents($Fil); echo count($d); foreach ($d) as $f) { if(!preg_match('%\[\d{4,4}-\d{2,2}-\d{2,2} \d{2,2}:\d{2,2}:\d{2,2}\]%', $f) && strlen($f) > 10)) { $Endd .= decrypt($f, "TESTI") . "\n"; } else { $Endd .= $f . "\n"; } } echo "Ergebnis: " . $Endd; } function decrypt($inp, $pass) { $data = base64_decode($inp); print_r ($data); $pazz = md5($pass); print_r ($pazz); for ($i = 0; $i < strlen($data); $i++) { $data[i] = $data[i] ^ $pazz[i % strlen($pazz)]; } return $data; } ?>
Irgendwie wird mir kein Fehler angezeigt.. Finde auch keinen.. Vllt. kann mir da ja mal jemand helfen, wäre nett.