安装 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

相关推荐:
从cmake官网下载最新的cmake版本,官方地址: https://cmake.org/download/ 1、解压 tar -zxvf cmake-xxx.tar.gz 2、进入目录并配置源码 cd cmake-xxx ./configure 3、编译 make 4、安装 make install
在使用service iptables save命令保存防火墙的策略时发现系统报了标题所示的异常,那么怎么解决呢? 我们可以凭经验发现大概是包没装,那么就缺啥补啥,缺少policycoreutils这个包,就安装这个包: yum -y …
如果碰巧你使用的是官方tar包,那么恭喜你,你make的时候可能会遇到如下错误,很多网友都会遇到的。 ../src/.libs/libeglib.a(libeglib_la-gunicode.o): In function `monoeg_g_get_charset':/root/mono/eg …
一般我们在更换DNS源或配置了HOSTS后,刷新DNS缓存让你可以得到新的域名解析。当你无法正确访问一个新注册的域名时就可以刷新dns缓存试试,但是不同的系统如Windows、Mac OS和Linux上的方法是不一样的。 如 …
配置时区的命令是: $sudo dpkg-reconfigure tzdata(root下无须sudo) 它会改这两个文件: 1. /etc/timezone 2. /etc/localtime 第一个文件写的是系统的时区,国内默认为 Asia/Shanghai 第二个文件还可以 …
拿起手机扫一扫即可带走我!