Ngayon, nakikita namin ang data mula sa iba't ibang mga mapagkukunan, at ang panghuling problema ay ang pagtiyak ng seguridad at privacy nito.
Kabilang dito hindi lamang ang malalaking dataset na hawak ng mga organisasyon, kundi pati na rin ang mga modelo ng AI/ML, algorithm, at, sa kalaunan, data na may mga projection.
Ang dami ng data ay tumataas habang ang bilang ng mga kumpanyang gumagamit ng data science ay lumalapit sa kanilang paggawa ng desisyon.
Nagkaroon ng iba't ibang organisasyon na natuklasan sa larangan ng pag-encrypt at seguridad para sa AI/ML at cloud computing, na ngayon ay nagpapahintulot sa mga kalkulasyon sa naka-encrypt na data.
Sa pabago-bagong mundo ng komunikasyon ng data at impormasyon, ang isa sa pinakamabigat na problema para sa mga negosyo ay ang seguridad ng mga nilalaman ng file.
Ang ilang impormasyon (mga email, pag-login) ay maaaring ma-secure ng password.
Gayunpaman, ang ibang impormasyong ipinadala sa pamamagitan ng email o FTP ay hindi epektibo kung protektado ng isang keyword.
Dito pumapasok ang pag-encrypt ng file, na nagbibigay ng seguridad at kaginhawaan na kinakailangan ng mga partidong kasangkot sa paglilipat ng impormasyon.
Ano ang file encryption?
Ang mga indibidwal na file o file system ay protektado ng file encryption, na nag-e-encrypt sa kanila ng isang natatanging key at ginagawang available lang ang mga ito sa keyholder.
Ang layunin ay upang maiwasan ang mga nakakapinsala o hindi awtorisadong indibidwal mula sa pagkakaroon ng access sa mga file sa hard drive.
Ang isang operating system o file system ay maaaring magbigay ng suporta sa pag-encrypt ng file. Maa-access lang ang mga sensitibong file gamit ang isang decryption key.
Kung ang isang user ay kailangang makipag-usap nang ligtas sa mga indibidwal na file sa Internet o i-save ang mga ito sa portable media gaya ng USB stick, madaling gamitin ang pag-encrypt ng file.
Ang Cryptography ay ang termino para sa proseso ng pag-encrypt at pag-decrypt ng data.
Tingnan natin kung paano natin magagamit ang Python para i-encrypt at i-decode ang ilan sa ating data. Gagamit kami ng simetriko na pag-encrypt, na nangangahulugang ie-encrypt at i-decrypt namin ang data gamit ang parehong key.
Upang makasama sa tutorial na ito, kakailanganin namin ang Python library para sa cryptography.
Mga hakbang para sa pag-encrypt at pag-decrypt ng isang file
Susundan namin ang mga hakbang na ibinigay sa ibaba.
- Pag-install ng library
- Dataset
- Paggawa ng susi
- Naglo-load ng susi
- Pag-encrypt ng file
- Pag-decrypt ng isang file
1. Pag-install ng library
Mangyaring buksan ang "Command Prompt" (sa Windows) at i-type ang sumusunod na code upang mai-install ang mga ito:
2. Dataset
Kakailanganin namin ang isang halimbawang file upang magamit upang makapagsimula. Narito ang isang patikim .csv file kasama ang impormasyon tungkol sa mga marka ng mga mag-aaral.
3. Paglikha ng susi
Gagamit kami ng simetriko equation sa aming halimbawa. Ang Fernet ay isang uri ng napatotohanan na pag-encrypt na nangangailangan ng "susi" upang basahin at/o baguhin ang isang file. Ngayon ay gagawin namin ang susi at ilagay ito sa parehong direktoryo ng aming data file:
Kung pupunta ka sa direktoryo kung saan matatagpuan ang iyong Python code, dapat mong hanapin ang mykey.key file. Ang file ay dapat magkaroon lamang ng isang linya, na isang string ng mga character sa ilang pagkakasunud-sunod. Maaari mong tingnan ang aking susi sa ibaba, ngunit ang sa iyo ay magiging iba.
4. Naglo-load ng susi
Kakailanganin naming i-load ang encryption key sa aming kapaligiran kapag nagawa na namin ito para ma-encrypt/decrypt ang mga file. Ang sumusunod na hakbang ay medyo tapat, na nangangailangan lamang ng pagbubukas ng mykey.key file at ang imbakan nito sa lokal na memorya:
Ang encryption key ay lokal na ngayong naka-save bilang key variable.
5. Pag-encrypt ng file
Bubuo kami ng function para magamit ang encryption key at ibabalik ang naka-encrypt na file ngayong mayroon na kaming file na ie-encrypt at ang encryption key. Iniimbak namin ang Fernet object bilang isang lokal na variable f kapag nilikha namin ito.
Kasunod noon, na-import namin ang aming orihinal na data (grades.csv) sa orihinal. Ang data ay pagkatapos ay naka-encrypt gamit ang Fernet object at naka-imbak bilang naka-encrypt.
Sa wakas, ise-save namin ito bilang "enc_grades.csv" sa isang new.csv file. Maaaring matingnan ang naka-encrypt na file dito:
6. Pagde-decrypt ng file
Gusto mong i-access ang file pagkatapos mong i-encrypt ito at, halimbawa, matagumpay na nailipat ito sa ibang lugar. Ang impormasyong iyon ay nasa naka-encrypt na format na ngayon.
Ang susunod na hakbang ay ibalik ang orihinal na materyal sa pamamagitan ng pag-decrypt nito. Ang pamamaraan na gagamitin namin ngayon ay ang kabaligtaran ng pag-encrypt na ginamit namin sa nakaraang seksyon.
Susundin namin ang magkatulad na mga hakbang tulad ng dati, ngunit sa pagkakataong ito ay pupunta kami mula sa isang naka-encrypt patungo sa isang naka-decrypt na file:
Sa wakas, ise-save namin ito bilang "dec_grades.csv" sa isang new.csv file. Ang naka-encrypt na file ay makikita sa ibaba:
Konklusyon
Natutunan namin kung paano i-encrypt at i-decode ang isang file at ang data na nakapaloob sa loob nito gamit ang simetriko na uri ng pag-encrypt ng file sa post na ito gamit ang Python programming language at ang pakete ng cryptography.
Ang pag-encrypt at pag-decryption ng mga file ay isang simpleng proseso gamit ang library na ito.
Hindi namin kailangang gamitin ang aming lohikal na pamamaraan.
Sa halip, maaari kaming bumuo ng isang susi, i-encrypt ang file, at pagkatapos ay i-decode ito gamit ang susi - ito ay ligtas at prangka.
Mag-iwan ng Sagot