Мазмунга өтүү

Криптографиянын негиздери: хештөө жана коопсуз кокустук

Сабактын башталышы

Криптографиянын негиздери: хештөө жана коопсуз кокустук

Python стандарттык китепканасынын криптографиялык примитивдерин туура колдонуңуз — жана алардын чектерин билиңиз

Негизги идея: Чыныгы тиркемелерге дайыма бүтүндүктү текшерүү, билдирүүлөрдү аутентификациялоо, табыла турбас токендерди түзүү жана сырсөздөрдү коопсуз сактоо керек. Python булардын баарына туура, убакыт менен сыналган куралдарды берет: hashlib, hmac жана secrets. Чеберчилик криптография жазууда эмес — туура примитивди тандап, классикалык каталарсыз (коопсуздук үчүн random колдонуу, сырсөз катары сырой хешти сактоо же == менен сырларды салыштыруу) колдонууда.
Аягында сиз:
  • хештөө, шифрлөө жана кодуулоону айырмалап, туурасын тандай аласыз,
  • hashlib менен контенттин хештерин, анын ичинде блоктор менен окулган чоң файлдарды эсептей аласыз,
  • hmac менен билдирүүлөрдү аутентификациялап, сырларды туруктуу убакытта салыштыра аласыз,
  • random ордуна secrets менен коопсуз токендерди жана кокус маанилерди түзө аласыз,
  • сырсөздөрдү туз жана жай ачкыч түзүү функциясы (scrypt / PBKDF2) менен сактай аласыз,
  • эмне үчүн өз криптографияңды ойлоп табууга болбойт экенин түшүндүрө аласыз.

1. Чаташтырылган үч нерсе: хештөө, шифрлөө, кодуулоо

Бир да API-ге тийгенге чейин, оюңда моделди бекемдеп ал. Бул үч амал окшош (байт кирет, байт чыгат), бирок таптакыр башка маселелерди чечет.

АмалКайтарылабы?Ачкыч керекпи?Максаты
Кодуулоо (base64, hex, UTF-8)Ооба, жеңилЖокБайттарды башка алфавитте берүү. Коопсуздук эмес.
Хештөө (SHA-256)Жок (бир тараптуу)ЖокМаалыматтын туруктуу өлчөмдөгү изи; бүтүндүк, дедупликация, издөө.
Шифрлөө (AES)Ооба, ачкыч мененОобаМаалыматты жашыруун кылуу, аны ачкыч ээлери гана окуй алат.

Жаңы баштагандардын эң кеңири таралган катасы — кодуулоону коопсуздук деп эсептөө. Base64 — бул шифрлөө эмес: аны каалаган адам бир сапта чечмелейт. Жана хеш да шифрлөө эмес: ачкыч жок жана түпнусканы кайтарууга жол жок. Хеш «эки нерсе бирдейби?» жана «маалымат бузулганбы?» деген суроого жооп берет, эч качан «муну кийин окуй турганыма жашыр» дегенге эмес.

Эреже: кийин кайтаруу керек → шифрлөө. Дал келгенин текшерүү жетиштүү → хештөө. Жөн эле алфавитти алмаштыруу → кодуулоо. Бул курс хештөө жана коопсуз кокустукту камтыйт; шифрлөө (cryptography пакетинин AES-GCM / Fernet) — өзүнчө, ачкычты башкарууга бай тема.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө