今天,我們看到來自各種來源的數據,最後的問題是確保其安全性和隱私性。
這不僅包括組織持有的大型數據集,還包括 AI/ML 模型、算法,以及最終的預測數據。
隨著在決策中使用數據科學方法的公司數量的增加,數據量正在增加。
在 AI/ML 和雲計算的加密和安全領域發現了各種組織,它們現在允許對加密數據進行計算。
在瞬息萬變的數據和信息通信世界中,企業面臨的最緊迫問題之一是文件內容的安全性。
某些信息(電子郵件、登錄名)可以設置密碼保護。
但是,如果受關鍵字保護,通過電子郵件或 FTP 發送的其他信息效率低下。
這就是文件加密發揮作用的地方,它提供了參與信息傳輸的各方所需的安全性和便利性。
什麼是文件加密?
單個文件或文件系統受到文件加密的保護,文件加密使用唯一的密鑰對其進行加密,並使其僅對密鑰持有者可用。
目的是防止有害或未經授權的個人訪問硬盤驅動器上的文件。
操作系統或文件系統可以提供文件加密支持。 敏感文件只能使用解密密鑰訪問。
如果用戶必須通過 Internet 安全地傳輸單個文件或將它們保存在 USB 記憶棒等便攜式媒體上,文件加密就派上用場了。
密碼學是加密和解密數據過程的術語。
讓我們看看如何使用 Python 加密和解碼我們的一些數據。 我們將使用對稱加密,這意味著我們將使用相同的密鑰加密和解密數據。
為了學習本教程,我們需要 Python 庫 用於密碼學。
加密和解密文件的步驟
我們將按照下面給出的步驟進行。
- 安裝庫
- 數據集
- 創建密鑰
- 加載密鑰
- 加密文件
- 解密文件
1.安裝庫
請打開“命令提示符”(在 Windows 上)並輸入以下代碼來安裝它們:
2.數據集
我們需要一個示例文件來開始工作。 這是一個 樣品 .csv 文件,包括有關學生成績的信息。
3. 創建密鑰
我們將在示例中使用對稱方程。 Fernet 是一種經過身份驗證的加密,需要“密鑰”來讀取和/或更改文件。 現在我們將製作密鑰並將其放在與我們的數據文件相同的目錄中:
如果您進入 Python 代碼所在的目錄,您應該會找到 mykey.key 文件。 該文件應該只有一行,即按某種順序排列的一串字符。 您可以在下面查看我的密鑰,但您的會有所不同。
4.加載密鑰
生成加密密鑰後,我們需要將加密密鑰加載到我們的環境中以加密/解密文件。 以下步驟相當簡單,只需要打開 mykey.key 文件並將其存儲在本地內存中:
加密密鑰現在在本地保存為密鑰變量。
5. 加密文件
我們將構造一個函數來使用加密密鑰並返回加密文件,因為我們已經有了要加密的文件和加密密鑰。 我們在創建 Fernet 對象時將其存儲為局部變量 f。
之後,我們將原始數據 (grades.csv) 導入到原始數據中。 然後使用 Fernet 對像對數據進行加密並以加密形式存儲。
最後,我們將其另存為“enc_grades.csv”,保存在一個 new.csv 文件中。 加密文件可以在這裡查看:
6.解密文件
您需要在加密文件後訪問該文件,例如,成功地將其移動到另一個地方。 該信息現在採用加密格式。
下一步是通過解密來恢復原始材料。 我們現在將使用的過程與我們在上一節中使用的加密相反。
我們將遵循與以前相同的步驟,但這次我們將從加密文件轉到解密文件:
最後,我們將它作為“dec_grades.csv”保存在一個 new.csv 文件中。 加密文件如下所示:
結論
我們在這篇文章中使用 Python 學習瞭如何使用對稱類型的文件加密來加密和解碼文件以及其中包含的數據 編程語言 和密碼學包。
文件的加密和解密是使用這個庫的一個簡單過程。
我們不需要使用我們的邏輯方法。
相反,我們可以生成一個密鑰,加密文件,然後使用該密鑰對其進行解碼——它既安全又簡單。
發表評論