安装 libsodium 使用 salsa20 或 chacha20 或 chacha20-ietf 算法

谷歌发布了针对ARM优化的新算法,但是如果要使用 salsa20 或 chacha20 或 chacha20-ietf 算法,还是需要先安装 libsodium 。

CentOS下:

yum install epel-release -y
yum install libsodium -y

如果想自己编译,那么可以用以下的命令:

#CentOS

yum -y groupinstall "Development Tools"
wget https://github.com/jedisct1/libsodium/releases/download/1.0.12/libsodium-1.0.12.tar.gz
tar xf libsodium-1.0.12.tar.gz && cd libsodium-1.0.12
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

#Ubuntu/Debian:

apt-get install build-essential -y
wget https://github.com/jedisct1/libsodium/releases/download/1.0.12/libsodium-1.0.12.tar.gz
tar xf libsodium-1.0.12.tar.gz && cd libsodium-1.0.12
./configure && make -j2 && make install
ldconfig

如果曾经安装过旧版本,亦可重复用以上步骤更新到最新版,仅1.0.4或以上版本支持chacha20-ietf。

假如我们遇到以下的错误时:

xxx: In function `crypto_derive_key':undefined reference to `crypto_pwhash'
xxx: In function `cipher_aead_decrypt':undefined reference to `crypto_aead_xchacha20poly1305_ietf_decrypt'
xxx: In function `cipher_aead_encrypt':undefined reference to `crypto_aead_xchacha20poly1305_ietf_encrypt'
collect2: error: ld returned 1 exit status
make[2]: *** [xxx] Error 1
make[2]: Leaving directory `xxx'
make[1]: *** [xxx] Error 1
make[1]: Leaving directory `xxx'
make: *** [all] Error 2

其实这原因有二:

1.系统存在旧libsodium的缘故,试试apt-get purge libsodium-dev再试试编译

2.尝试在编译时添加路径: ./configure --with-sodium=xxx

相关推荐:
这个问题产生的原因就是编码不同导致的,或是默认配置下不识别除utf-8之外的编码,既然是不支持,我们添加上不就行了。 编辑vimrc文件,mac os中vimrc位置:/usr/shared/vim/vimrc,当然我们更建议使用用户 …
根据报错信息“configure: error: off_t undefined; check your library configuration”分析,未定义的类型 off_t。 off_t 类型是在头文件 unistd.h中定义的,在32位系统 编程成 long int ,64位系统则编译 …
如何让一个Python脚本输出的文字信息是彩色的?其实这个其实跟python无关的,跟具体所用console的类型有关系,不同的类型对应不同的控制码,如果是ansi终端,可以用ansi的控制码。 Mac或Linux终端中的颜色 …
在离线的环境下安装支持包,就需要下载离线包进行手工安装,此时如何快速的安装呢? deb是debian linux类型的安装格式,跟red hat的rpm非常相似,最基本的安装命令是: dpkg -i xx.deb dpkg 是Debian Packa …
话说不懂linux的命令就没法玩linux了,网上收集来下面这些常用命令供你参考。 目录操作: rm -rf mydir /*删除mydir目录*/ cd mydir /*进入mydir目录*/ cd – /*回上一级目录*/ cd .. /*回父目录,中间有空 …
拿起手机扫一扫即可带走我!