📅  最后修改于: 2023-12-03 15:39:44.104000             🧑  作者: Mango
最近在使用 OpenSSL 进行加密/解密操作时,遇到了一个问题,就是找不到密码算法“AES-256-GCM”。经过了一番研究,发现是 OpenSSL 版本太老了,导致缺少了 GCM 模式的支持。本文将介绍如何解决这个问题。
在使用 OpenSSL 进行加密/解密操作时,可以使用多种密码算法。其中,AES 算法是目前使用最广泛的对称加密算法之一。在 AES 算法的基础上,还有一个 GCM 模式,可以提供更好的安全性和性能。因此,如果需要使用 AES 算法进行加密/解密操作,建议使用 AES-256-GCM 这种密码算法。
然而,当我在使用 OpenSSL 进行 AES-256-GCM 加密操作时,发现提示“unknown cipher AES-256-GCM”。这是因为 OpenSSL 版本太老,不支持 GCM 模式。具体的错误提示如下:
$ openssl enc -aes-256-gcm -in plain.txt -out cipher.txt -pass pass:test
unknown cipher AES-256-GCM
那么该如何解决这个问题呢?
要解决这个问题,需要升级 OpenSSL 版本,以支持 GCM 模式。具体的步骤如下:
$ sudo apt-get remove openssl
$ wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
$ tar -zxvf openssl-1.1.1k.tar.gz
$ cd openssl-1.1.1k
$ ./config
$ make
$ sudo make install
$ openssl version
OpenSSL 1.1.1k 25 Mar 2021
现在,我们再次运行加密操作,就可以正常使用 AES-256-GCM 算法了。
$ openssl enc -aes-256-gcm -in plain.txt -out cipher.txt -pass pass:test
在使用 OpenSSL 进行 AES 算法加密/解密操作时,如果遇到找不到密码算法“AES-256-GCM”的问题,可能是 OpenSSL 版本太老,不支持 GCM 模式。解决这个问题的方法是升级 OpenSSL 版本,以支持 GCM 模式。