當在不同方之間進行數據交換時,經常需要加密數據或文件並將其發送給合作夥伴,並要求合作夥伴使用相應的密鑰來解密數據或文件。一種著名的數據交換方式是使用非對稱密鑰,其中不需要共享秘密密鑰。一方可以使用合作夥伴共享的公鑰加密數據,另一方使用私鑰解密數據。
今天,我們將介紹如何在MacOS上使用PGP加密和解密數據。Pretty Good Privacy (PGP) 是一個用於發送加密郵件和加密敏感文件的加密系統。
網路上有一些軟體可以用於進行PGP加密/解密,在MacOS上,我們可以使用GPGTools,它可以很容易地安裝在MacOS上,安裝後,啟動GPG Keychain工具,您可以生成新的密鑰對,也可以導入其他人共享或自己生成的現有密鑰。密鑰設置是開始加密或解密數據之前的第一步。
在GFG Keychain中,如果密鑰已生成或導入,您將看到如下所示:
類型欄顯示密鑰類型,如果是公鑰,它會顯示為pub,如果是私鑰,則會顯示為sec/pub。
現在要加密某些文件或數據,您可以將鼠標懸停在文件上並點擊滑鼠右鍵/觸控板。
您會找到服務以及那裡的一些選項。加密文件時,選擇OpenGPG: 加密文件。
現在它會要求您選擇收件人,基本上就是用於加密文件的公鑰。加密後,將創建一個名為original_file_name.gpg的新文件。
當嘗試解密文件時,可以選擇服務OpenGPG: 解密文件來執行相同的操作。該文件將使用導入到密鑰串中的sec密鑰解密。如果沒有可用的相應秘密密鑰來解密文件,它會給出一些錯誤提示,說明沒有可用的密鑰來解密。這種情況下,您需要導入正確的秘密密鑰。
除了解密文件外,還可以在文件中加密選定的數據。方法與文件加密類似。打開文件,選擇要加密的數據部分,然後點擊右鍵調出菜單,
加密後的數據將放入文件中,如下所示:
-----BEGIN PGP MESSAGE-----
hQIMA3h4T1eMIzgjAQ/+Ol7eQFkY4BuU+c4ucoYjate2dzSQcbkuuZXK7heF/pd1
hmJKpdUaw09f+2t4aD/Plw5HUNkEkZU6glkw3jZhLyjQX46RzzHKkjEg3XFM3ovi
GWsA5QfwoDE5iBr94H04GH8hHL7PbvY/Ryrynb2L6ciXh6IB6g3EkS4xSdM4vVZU
gDIfXSZZDmCi6v4HdbJ0LV9gZcZ4qCqnaIxnEurELsXHOqVoUpMxONttfAPStVQD
rzU9KV7LJ4PZw/3CAmYUXp8SrX128jC0nshkh4uKtBCriEPn2HRTiJKJIJXJSYKM
sxahLfAbo/q3DPLrJwggA1WRydY9g7N2HLHO/sF/UuXBCqAx3F8Ed04QeM/9k7Kq
3w9QghsITGu/utNpPQVWRgtv9BGSe0qfR6fspcBhLcelyavcOcAJSMzk95xerNiN
4Li4tiDaGCnndhbMxNZB7UbzmckNKCF16y6XUF3x4XTWVI8HNwAgaeepM22qRzO7
3eIJ7Www/DZl7wQkf+je/D0lX28lOstEXBrLhXoh/i+nsPwP4OO34nOnbpZ6qvjJ
vk7IciAM8zO8WeTVeynyvG4J8Zr59dpZgDyetAse7gHExcTETgjIulm2wNmB5/9J
z0WJG9IUvfEQqqrb8PJ7EoQnVucf3c6hS2gvFvyIP3l9EREqe2v4KFXwsS0a5W3S
RAGdAk5u27TtK2TdQrTsjuF1BUkN3JrH01G9oD5cASBZ3BFU+DOJGpqwdfJ3f5Mu
ZamsTZwmBUJ7025WBvaZeW4AEEVW
=wysv
-----END PGP MESSAGE-----
還有一些其他的工具可以使用。例如PGPTool,一個用Java編寫的工具,其UI具有典型的Java風格外觀。
I am performing these steps and get a "Decryption failed: No Data! (No data)
Code = 58" message. Can anyone shed light on how to troubleshoot this? Thank you!