အင်တာနက်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူဒေတာဘေ့စ်များသည်အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုသိုလှောင်ခြင်းနှင့်စီမံခြင်းအတွက်အဓိကကိရိယာတစ်ခုဖြစ်လာသည်။ PHP application များအရအသုံးပြုသူစကားဝှက်များ, ခရက်ဒစ်ကဒ်အချက်အလက်ကဲ့သို့သောအထိခိုက်မခံသောအချက်အလက်များကိုဒေတာဘေ့စ်တွင်သိမ်းဆည်းရန်လိုအပ်သည်။ ထို့ကြောင့်ဒေတာအနေဖြင့်ဒေတာဘေ့စ်များ၏လုံခြုံရေးကိုသေချာစေရန်အချက်အလက်များကိုစာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းနည်းပညာများအလွန်အရေးကြီးသည်။
PHP သည် AES (အဆင့်မြင့်စာဝှက်စနစ်စံ) နှင့် RSA (rivest-shamir-adleman) ကဲ့သို့သော encryption algorithms အမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ ဒေတာဘေ့စ်ဆက်သွယ်မှုများတွင် AES algorithm ကိုများသောအားဖြင့်အထိခိုက်မခံသောအချက်အလက်များကိုစာဝှက်ရန်အသုံးပြုလေ့ရှိသည်။ AES algorithm ကိုအသုံးပြုပြီးအချက်အလက်များကိုစာဝှက်နည်းပြသသည့်ဥပမာတစ်ခုမှာဤတွင်ဖော်ပြထားသည်။
<?php
// encryption functions
function encrypt($data, $key) {
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
$encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
return base64_encode($encrypted . '::' . $iv);
}
?>
နောက်တစ်ခုကဒေတာဘေ့စ် connection ကိုတည်ဆောက်ရန်နှင့်စာဝှက်ထားတဲ့အချက်အလက်များကိုသိမ်းဆည်းရန် PDO ကိုသုံးနိုင်သည်။
<?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$key = "your_encryption_key";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
$conn-> setatribute (pdo :: attr_errmode, pdo :: ermdo :: ermoode_exception);
// $ ဒေတာများကို encrypt လုပ်ထားသည့်ဒေတာ = "sensitive_info";
// စာဝှက်ထားတဲ့ဒေတာ $ encrypteddata = encryptata = encrypt ($ ဒေတာ, $ key);
// စာဝှက်ထားတဲ့ဒေတာများကိုဒေတာဘေ့စ် $ sql = "ဇယားသို့ထည့်သွင်းပါ (encrypted_data) တန်ဖိုးများ ('$ encrypteddata')"
$ Conn-> Exec ($ sql);
ECHO "ဒေတာများကိုစာဝှက်ပြီးသိမ်းဆည်းထားတယ်။ ";
} ဖမ်း (PoCoException $ E) {
ပဲ့တင်သံ "အမှား -" ။ $ e-> gettessage ();
}
$ can = null;
>
စာဝှက်ထားတဲ့ဒေတာတွေကိုဒေတာဘေ့စ်ကနေပြန်လည်ရယူရန်လိုအပ်သည့်အခါဒေတာပြန်လည်ထူထောင်ရေးအတွက်စာဝှက်ဖြည်ခြင်းနည်းပညာကိုအသုံးပြုသည်။ AES algorithm ကိုအသုံးပြုပြီးဒေတာကိုစာဝှက်ဖြည်ဖို့ဘယ်လိုဖေါ်ပြတဲ့ဥပမာတစ်ခုမှာဤတွင်ဖော်ပြထားသည်။
<?php
// decryption function ကို
function decrypt($data, $key) {
list($encryptedData, $iv) = explode('::', base64_decode($data), 2);
return openssl_decrypt($encryptedData, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
}
?>
အောက်ဖော်ပြပါကုဒ်သည်ဒေတာဗေ့စ်မှစာဝှက်ထားသောဒေတာများကိုမည်သို့ရယူရမည်ကိုပြသပြီး၎င်းကိုစာဝှက်ဖြည်ရမည်ကိုပြသသည်။
<?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$key = "your_encryption_key";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
$conn-> setatribute (pdo :: attr_errmode, pdo :: ermdo :: ermoode_exception);
// စာဝှက်ထားတဲ့ဒေတာတွေကိုဒေတာဘေ့စ် $ sql = "table ကို select လုပ်ထားတဲ့ encrypted_data ကိုရွေးချယ်ပါ" ။
$ stmt = $ conn-> query ($ sql);
$ ရလဒ် = $ stmt-> fetch ();
// decrypt ဒေတာ $ decrypteddata = decrypt ($ ရလဒ် ['encrypted_data'], $ key);
ပဲ့တင်သံ "စာဝှက်ဖြည်ထားတဲ့အချက်အလက်များ -" ။ $ decrypteddata;
} ဖမ်း (PoCoException $ E) {
ပဲ့တင်သံ "အမှား -" ။ $ e-> gettessage ();
}
$ can = null;
>
PHP တွင်စာဝှက်စနစ်နှင့်စာဝှက်ဖြည်နည်းများကိုအသုံးပြုခြင်းအားဖြင့်ဒေတာဘေ့စ်တွင်အထိခိုက်မခံသောအချက်အလက်များ၏လုံခြုံရေးကိုထိရောက်စွာတိုးတက်အောင်လုပ်နိုင်သည်။ AES algorithm ၏ encryption နှင့်စာဝှက်စနစ်သည်အချက်အလက်များ၏လျှို့ဝှက်ချက်ကိုကာကွယ်ပေးသည်သာမကအချက်အလက်များယိုစိမ့်မှုများကိုလည်းကာကွယ်ပေးသည်။ သတိပြုသင့်သည်မှာစာဝှက်စနစ်၏လုံခြုံရေးကိုကာကွယ်ရန်အလွန်အရေးကြီးသည်, ထို့ကြောင့်သော့ကိုထုတ်ဖော်ခြင်းကိုကာကွယ်ရန်သင့်တော်သောအစီအမံများကိုပြုလုပ်သင့်သည်။
ဤဆောင်းပါးသည် PHP တွင်ဒေတာစာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းနည်းပညာကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုမိတ်ဆက်ပေးသည်။ သင်၏ဖွံ့ဖြိုးရေးလုပ်ငန်းအတွက်ရည်ညွှန်းချက်ကိုရည်ညွှန်းနိုင်သည်ဟုမျှော်လင့်ပါသည်။