웹 애플리케이션에서는 데이터와 추세를 표시하기 위해 통계 차트를 사용해야 하는 경우가 많습니다. 통계 차트 기능은 PHP 인터페이스와 ECharts를 사용하여 쉽게 구현할 수 있습니다. 그러나 때로는 보안을 보장하기 위해 민감한 데이터를 암호화해야 하므로 데이터를 암호화하고 해독해야 합니다. 이 기사에서는 PHP 인터페이스와 ECharts를 사용하여 통계 차트의 데이터 암호화 및 암호 해독을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
PHP에서는 openssl_encrypt 함수를 사용하여 민감한 데이터를 암호화할 수 있습니다. 이 함수는 암호화 알고리즘, 키, 일반 텍스트, 암호화 옵션이라는 네 가지 매개변수를 허용합니다. 다음은 간단한 암호화 함수의 예입니다.
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 ); }
이 함수를 호출할 때 암호화할 일반 텍스트와 암호화 키를 전달합니다. 예:
$encryption_key = "my_secret_key"; $plaintext = "sensitive_data"; $ciphertext = encrypt($plaintext, $encryption_key);
암호화 후 $ciphertext를 데이터베이스에 저장하거나 나중에 사용할 수 있도록 클라이언트에 보냅니다.
openssl_decrypt 함수를 사용하여 암호화된 데이터를 해독할 수 있습니다. 이 함수는 암호 해독 알고리즘, 키, 암호문 및 암호 해독 옵션이라는 네 가지 매개변수를 허용합니다. 다음은 간단한 복호화 함수의 예입니다.
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; }
이 함수를 호출할 때 복호화할 암호문과 복호화 키를 전달합니다. 예:
$encryption_key = "my_secret_key"; $plaintext = decrypt($ciphertext, $encryption_key);
$plaintext는 암호화 전의 민감한 데이터입니다. 키가 올바르지 않거나 데이터가 변조된 경우 함수는 null을 반환합니다.
ECharts는 사용자와 상호 작용할 수 있는 동적 통계 차트를 쉽게 만들 수 있는 JavaScript 기반 오픈 소스 시각화 라이브러리입니다. 다음은 ECharts를 사용하여 기본 막대 차트를 표시하는 방법을 보여주는 간단한 예입니다.
<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>
이 코드는 A, B, C, D 및 E 사이에 데이터가 표시되는 "내 차트"라는 막대 차트를 생성합니다. 5, 20, 36, 10, 10. ECharts 사용의 장점 중 하나는 PHP 및 기타 백엔드 언어와 함께 사용하여 서버에서 데이터를 동적으로 로드할 수 있다는 것입니다.
ECharts로 암호화된 데이터를 사용하려면 암호문을 클라이언트로 전송해야 합니다. 다음은 PHP 및 JavaScript를 사용하여 ECharts에 암호화된 데이터를 사용하는 간단한 예입니다.
<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>
이 코드는 "My Chart"라는 막대 차트를 생성하지만 데이터를 읽을 때 중개인으로 "data.php"를 거쳐야 합니다. 이 방법을 사용하려면 "data.php" 파일을 생성해야 합니다.
<?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); ?>
이 코드는 암호화된 암호문의 데이터를 해독하고 ECharts에서 사용할 JSON 형식의 데이터를 반환합니다. 이 예에서는 데이터가 하드코딩되어 있지만 서버에서 쉽게 가져올 수 있습니다.
ECharts와 데이터 암호화 및 암호 해독을 결합하면 민감한 데이터의 보호를 극대화하면서 눈길을 끄는 통계 차트를 유연하고 안전하게 표시할 수 있습니다.
위 내용은 PHP 인터페이스와 ECharts를 사용하여 통계 차트의 데이터 암호화 및 암호 해독을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!