2016-06-01 17 views
0

ich den Code unten habe alle Daten aus einer MySQL-Datenbank in einer HTML-Datenbank zeigen:Entschlüsseln von Daten aus MySQL-Datenbank

<?php 
$result = mysqli_query($con,"SELECT * FROM Persons"); 
echo "<table border='1'>"; 
$i = 0; 
while($row = $result->fetch_assoc()) 
{ 
    if ($i == 0) { 
     $i++; 
     echo "<tr>"; 
     foreach ($row as $key => $value) { 
     echo "<th>" . $key . "</th>"; 
     } 
     echo "</tr>"; 
    } 
    echo "<tr>"; 
    foreach ($row as $value) { 
     echo "<td>" . $value . "</td>"; 
    } 
    echo "</tr>"; 
} 
echo "</table>"; 

mysqli_close($con); 
?> 

Dieser Code funktioniert gut und die Daten in der Tabelle korrekt angezeigt werden, mein Problem ist, dass die meisten Daten in der Datenbank verschlüsselt sind (einfach)!

Zum Beispiel, hier ist, wie someones Vorname 5cGs+mhdNN/SnHdqEbMk6zlKRu8uW7pR1zRjQHV9DGQ=

Gibt es eine Möglichkeit, die Daten gespeichert ist, zu entschlüsseln, bevor es in der Tabelle angezeigt wird?

I decrpyt in der Regel das Datum auf folgende Weise:

$name_firstD = simple_decrypt($name_first , "secured"); 
+2

Salts ecnrpytion sind nur eine Möglichkeit Sie können nicht entschlüsseln –

+0

Es ist möglicherweise nicht Salz dann sorry – Shane

+0

Zuerst müssen Sie Ihre gesamte Datenbank entschlüsseln, um doppelte Entschlüsselung zu vermeiden. Ändern Sie dann Ihre Logik so, dass sie nicht mehr verschlüsselt wird. –

Antwort

3

Sie müssen eine Reihe von Spalten haben, die verschlüsselt sind.

<?php 
$result = mysqli_query($con,"SELECT * FROM Persons"); 

$encrypted_columns = array('password','code', 'first_name'); 

echo "<table border='1'>"; 
$i = 0; 
while($row = $result->fetch_assoc()) 
{ 
    if ($i == 0) { 
     $i++; 
     echo "<tr>"; 
     foreach ($row as $key => $value) { 
     echo "<th>" . $key . "</th>"; 
     } 
     echo "</tr>"; 
    } 
    echo "<tr>"; 
    foreach ($row as $key => $value) { 
     echo "<td>" . (in_array($key,$encrypted_columns))? simple_decrypt($value , "secured") : $value . "</td>"; 
    } 
    echo "</tr>"; 
} 
echo "</table>"; 

mysqli_close($con); 
?> 

Setzen Sie den Namen Ihrer verschlüsselten Spalte in $ chiffrierte_spalten-Array.

+0

Das zeigt nur die Spaltennamen? – Shane

+0

@ user3092953. Es sollte funktionieren. Es sei denn, die von Ihnen angegebenen Informationen sind falsch. Bitte überprüfen Sie den Code und passen Sie ihn mit Ihren korrekten Werten an – Mojtaba