Heim > Artikel > Backend-Entwicklung > So verwenden Sie die PHP-Schnittstelle und ECharts, um die Datenverschlüsselung und -entschlüsselung statistischer Diagramme zu implementieren
In Webanwendungen ist es häufig notwendig, statistische Diagramme zur Darstellung von Daten und Trends zu verwenden. Die statistische Diagrammfunktion kann einfach über die PHP-Schnittstelle und ECharts implementiert werden. Manchmal müssen jedoch sensible Daten verschlüsselt werden, um die Sicherheit zu gewährleisten, sodass die Daten verschlüsselt und entschlüsselt werden müssen. In diesem Artikel wird erläutert, wie die PHP-Schnittstelle und ECharts zum Implementieren der Datenverschlüsselung und -entschlüsselung in statistischen Diagrammen verwendet werden, und es werden spezifische Codebeispiele bereitgestellt.
In PHP können sensible Daten mit der Funktion openssl_encrypt verschlüsselt werden. Diese Funktion akzeptiert vier Parameter: Verschlüsselungsalgorithmus, Schlüssel, Klartext und Verschlüsselungsoptionen. Hier ist ein Beispiel einer einfachen Verschlüsselungsfunktion:
function encrypt($plaintext, $encryption_key) { $cipher = "AES-128-CBC"; $ivlen = openssl_cipher_iv_length($cipher); $iv = openssl_random_pseudo_bytes($ivlen); $ciphertext_raw = openssl_encrypt($plaintext, $cipher, $encryption_key, $options=OPENSSL_RAW_DATA, $iv); $hmac = hash_hmac('sha256', $ciphertext_raw, $encryption_key, $as_binary=true); return base64_encode( $iv.$hmac.$ciphertext_raw ); }
Übergeben Sie beim Aufruf dieser Funktion den zu verschlüsselnden Klartext und den Verschlüsselungsschlüssel. Zum Beispiel:
$encryption_key = "my_secret_key"; $plaintext = "sensitive_data"; $ciphertext = encrypt($plaintext, $encryption_key);
Nach der Verschlüsselung speichern wir den $ciphertext in der Datenbank oder senden ihn zur späteren Verwendung an den Client.
Wir können die Funktion openssl_decrypt verwenden, um verschlüsselte Daten zu entschlüsseln. Diese Funktion akzeptiert vier Parameter: Entschlüsselungsalgorithmus, Schlüssel, Chiffretext und Entschlüsselungsoptionen. Hier ist ein Beispiel einer einfachen Entschlüsselungsfunktion:
function decrypt($ciphertext, $encryption_key) { $c = base64_decode($ciphertext); $cipher = "AES-128-CBC"; $ivlen = openssl_cipher_iv_length($cipher); $iv = substr($c, 0, $ivlen); $hmac = substr($c, $ivlen, $sha2len=32); $ciphertext_raw = substr($c, $ivlen+$sha2len); $calcmac = hash_hmac('sha256', $ciphertext_raw, $encryption_key, $as_binary=true); if (!hash_equals($hmac, $calcmac)) { return null; } $plaintext = openssl_decrypt($ciphertext_raw, $cipher, $encryption_key, $options=OPENSSL_RAW_DATA, $iv); return $plaintext; }
Übergeben Sie beim Aufruf dieser Funktion den zu entschlüsselnden Chiffretext und den Entschlüsselungsschlüssel. Beispiel:
$encryption_key = "my_secret_key"; $plaintext = decrypt($ciphertext, $encryption_key);
$plaintext sind die sensiblen Daten vor der Verschlüsselung. Wenn der Schlüssel falsch ist oder die Daten manipuliert wurden, gibt die Funktion null zurück.
ECharts ist eine auf JavaScript basierende Open-Source-Visualisierungsbibliothek, mit der Sie problemlos dynamische statistische Diagramme erstellen können, die mit Benutzern interagiert werden können. Hier ist ein einfaches Beispiel, das zeigt, wie man mit ECharts ein einfaches Balkendiagramm anzeigt:
<script src="https://cdn.staticfile.org/echarts/4.7.0/echarts.min.js"></script> <script> var myChart = echarts.init(document.getElementById('chart')); var option = { title: { text: 'My Chart' }, tooltip: {}, xAxis: { data: ['A', 'B', 'C', 'D', 'E'] }, yAxis: {}, series: [{ name: 'Data', type: 'bar', data: [5, 20, 36, 10, 10] }] }; myChart.setOption(option); </script> <div id="chart" style="height: 400px;"></div>
Dieser Code erstellt ein Balkendiagramm namens „Mein Diagramm“, dessen Daten zwischen A, B, C, D und E angezeigt werden, mit Werten von 5, 20, 36, 10 und 10. Einer der Vorteile der Verwendung von ECharts besteht darin, dass es mit PHP und anderen Backend-Sprachen verwendet werden kann, um Daten dynamisch vom Server zu laden.
Um verschlüsselte Daten mit ECharts verwenden zu können, muss der Chiffretext an den Client gesendet werden. Hier ist ein einfaches Beispiel für die Verwendung verschlüsselter Daten mit ECharts unter Verwendung von PHP und JavaScript:
<script> var myChart = echarts.init(document.getElementById('chart')); var url = "data.php?ciphertext=<?php echo $ciphertext; ?>"; myChart.showLoading(); $.getJSON(url, function(data) { myChart.hideLoading(); myChart.setOption({ title: { text: 'My Chart' }, tooltip: {}, xAxis: { data: data.labels }, yAxis: {}, series: [{ name: 'Data', type: 'bar', data: data.values }] }); }); </script>
Dieser Code erstellt ein Histogramm mit dem Namen „Mein Diagramm“, erfordert jedoch beim Lesen der Daten das Durchgehen von „data.php“ als Mittelsmann. Um diese Methode nutzen zu können, muss die Datei „data.php“ erstellt werden:
<?php $encryption_key = "my_secret_key"; $ciphertext = $_GET["ciphertext"]; $plaintext = decrypt($ciphertext, $encryption_key); $data = array( "labels" => array("A", "B", "C", "D", "E"), "values" => array(5, 20, 36, 10, 10) ); echo json_encode($data); ?>
Dieser Code entschlüsselt die Daten aus dem verschlüsselten Chiffretext und gibt die JSON-formatierten Daten zurück, die in ECharts verwendet werden. In diesem Beispiel sind die Daten fest codiert, können aber problemlos vom Server abgerufen werden.
Durch die Kombination von Datenverschlüsselung und -entschlüsselung mit ECharts können Sie auffällige Statistikdiagramme flexibel und sicher präsentieren und gleichzeitig den Schutz sensibler Daten maximieren.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die PHP-Schnittstelle und ECharts, um die Datenverschlüsselung und -entschlüsselung statistischer Diagramme zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!