如何在 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

结论

在本指南中,我们向您展示了创建安全预共享密钥和密码的不同方法和命令。 感谢您检查它!