Шифрлоо эмне?
sobes.tech AI
AIден жооп
Шифрлоо — бул окуя, анда окула турган маалымат (ачык текст) криптографиялык алгоритм жана ачкычтын жардамы менен окуулбай турган форматка айлантырат. Максаты — маалыматтын купуялуулугун камсыз кылуу, анткени аны тек гана уруксат берилген адамдар гана окуй алат, тиешелүү ачкычты колдонуп дешифрлөө үчүн.
Ичине эки негизги түрү бар:
-
Симметриче шифрлоо: Бир эле ачкыч шифрлоо жана дешифрлөө үчүн колдонулат. Жылдам, бирок ачкычты коопсуз өткөрүү маселеси бар. Мисалдар: AES, DES.
<?php // Симметриче шифрлоонун мисалы (жөнөкөйлөштүрүлгөн, көрсөтүү үчүн гана) $key = 'ачкыч123'; $plaintext = 'Сырдуу билдирүү'; // Жөнөкөй шифрлоо функциясы (өндүрмө колдонбоңуз) function simple_encrypt($data, $key) { return base64_encode($data ^ $key); // XOR операциясы } // Жөнөкөй дешифрлоо функциясы (өндүрмө колдонбоңуз) function simple_decrypt($data, $key) { return base64_decode($data) ^ $key; // XOR операциясы } $ciphertext = simple_encrypt($plaintext, $key); echo "Шифрланган: " . $ciphertext . "\n"; $decryptedtext = simple_decrypt($ciphertext, $key); echo "Дешифрленген: " . $decryptedtext . "\n"; ?> -
Асимметриче шифрлоо (ачык кілт менен шифрлоо): Бул эки кілт колдонулат: ачык кілт шифрлоо үчүн жана жашыруун (жеке) кілт дешифрлөө үчүн. Ачык кілт эркин таратыла алат, ал эми жашыруун кілт сыр сакталат. Жылдамдыгы симметричиге караганда төмөн. Мисалдар: RSA, ECC.
<?php // Асимметриче шифрлоонун мисалы (жөнөкөйлөштүрүлгөн, көрсөтүү үчүн гана) // Практикада PHP үчүн OpenSSL функциялары колдонулат (openssl_public_encrypt, openssl_private_decrypt жана башка) // Кілттерди түзүү (кыйын процесс) // $privateKey = ... // $publicKey = ... $plaintext = 'Башка сырдуу билдирүү'; // Ачык кілт менен шифрлоо // $encrypted = openssl_public_encrypt($plaintext, $ciphertext, $publicKey); // echo "Шифрланган (асимметриче): " . base64_encode($ciphertext) . "\n"; // Жеке кілт менен дешифрлөө // $decrypted = openssl_private_decrypt($ciphertext, $decryptedtext, $privateKey); // echo "Дешифрленген (асимметриче): " . $decryptedtext . "\n"; // Чындыкта колдонулган функциялар OpenSSL ?>
Шифрлоо маалыматтарды сактоо (encryption at rest) жана өткөрүү (encryption in transit) үчүн колдонулат, мисалы, SSL/TLS протоколдорунда веб-сайттарда.