如何在 Linux 上生成強預共享密鑰

PSK 或預共享密鑰是在加密和解密數據時由隨機字符串組成的密碼。 顧名思義,參與加密過程的雙方都事先知道密鑰,因為它不僅需要解密,還需要加密數據。

如果我們在數據傳輸過程中使用預共享密鑰,黑客就無法通過網絡獲取我們的數​​據。這很重要,因為我們的安全幾乎一直處於危險之中。 在共享數據時使用 PSK 還可以確保只有您希望與之共享的人才能訪問它。

在本文中,我將通過示例和命令來解釋在 Ubuntu Linux 上生成 PSK 密鑰的方法。

在 Linux 上生成強 PSK

帶有日期和 sha256sum

用戶可以在 Linux 中使用 date 命令查看有關係統日期和時間的信息。 出於安全目的,此命令可以生成強密鑰,這並不是每個人都知道的。 當您將 date 命令與 sha256sum 和 base 結合使用時,您將獲得一組隨機密鑰,您可以將其用作 PSK 來加密數據。

[email protected]:~$ date | sha256sum | base64 | head -c 15; echo
[email protected]:~$ date | sha256sum | base64 | head -c 25; echo
[email protected]:~$ date | sha256sum | base64 | head -c 35; echo

在這裡,給定的命令將打印 15、25 和 35 字節的預共享密鑰 (PSK) 的輸出。 head 命令將讀取字節並將它們顯示在輸出中。 如果 head 命令從命令中刪除,則係統會將 92 字節長的字符串打印為 PSK。

帶偽隨機數

Linux 操作系統中的 /dev/random 和 /dev/urandom 文件包含幾個隨機數生成器。 在 Linux 中,它們是充當偽隨機數生成器的特殊文件。 /dev/random 和 /dev/urandom 都使用 Linux 熵池創建隨機數。 熵是從環境中收集的噪聲,例如 CPU 風扇、鼠標移動等。 在 Linux 系統上,噪聲存儲在熵池中,然後由這些文件使用。 當這些隨​​機整數與 base64 命令, 可以生成適合用作預共享密鑰的強字符組合。

[email protected]:~$ head -c 20 /dev/random | base64
[email protected]:~$ head -c 30 /dev/random | base64

注意:命令中使用的 -c 選項與 頭部命令 用於生成字符中的鍵。

使用 GPG 實用程序

Linux 系統上的 GNU Privacy Guard 或 GPG 是用於加密和解密文件的著名實用程序。 但是,您也可以使用該程序生成強預共享密鑰。 您可以使用 gpg 命令的 – -gen-隨機 方法與 base64 編碼以生成無限數量的字符以用作預共享密鑰。

在以下命令中,1 是質量級別,10、20、32、64 和 128 是字節。

[email protected]:~$ gpg - - gen-random 1 10 | base64
[email protected]:~$ gpg - - gen-random 1 20 | base64
[email protected]:~$ gpg - - gen-random 1 32 | base64
[email protected]:~$ gpg - - gen-random 1 64 | base64
[email protected]:~$ gpg - - gen-random 1 128 | base64

注意:您也可以使用 2 作為質量級別,如下所示:

[email protected]:~$ gpg - - gen-random 2 100 | base64

使用 OpenSSL 命令

OpenSSL 是一個眾所周知且廣泛使用的命令行應用程序,用於從 shell 訪問 OpenSSL 加密庫的加密功能。 使用 rand 子命令構造一個強 PSK,它生成偽隨機字節並通過 base64 編碼過濾它們,如下所示。

要使用 OpenSSL 命令生成 32 字節、64 字節和 128 字節長的預共享密鑰:

[email protected]:~$ openssl rand -base64 32
[email protected]:~$ openssl rand -base64 64
[email protected]:~$ openssl rand -base64 128

結論

在本指南中,我們向您展示了創建安全預共享密鑰和密碼的不同方法和命令。 感謝您檢查它!