支持的操作系统
经过华为云严格实测,以下操作系统在鲲鹏生态中可以完整运行bcrypt的全部功能:
lCentOS 7.5
lEulerOS 2.8
支持版本和获取方式
l建议使用版本为“bcrypt-3.1.7”
l通过pip命令获取并安装
编译和测试方式
1.选择操作环境
本文选用华为鲲鹏云服务ECS KC1实例做测试,详细配置如下:类别子项版本云服务器配置ECS实例类型kc1.xlarge.4
ECS配置4U16GB
EVS高IO(40GB)
云OSCentOS7.5
Kernel4.14.0-49
2.安装前准备
1)(可选)修改yum命令的相关文件。
仅在yum命令不能执行且系统有安装多个版本的Python时需要执行。
在本示例中,由于将系统的“python 2.7”升级到“python 3.5.6”,导致yum命令不能正常使用,需要修改yum命令的相关文件。
a.将“/usr/bin/yum”文件的“#!/usr/bin/python”改为“#!/usr/bin/python2.7”。
b.将“/usr/libexec/urlgrabber-ext-down”文件的“#!/usr/bin/python”改为“#!/usr/bin/python2.7”。
2)安装依赖包。
bcrypt依赖于libffi,所以先使用yum安装该依赖包。
yum install libffi-devel
3.安装bcrypt
使用pip命令安装bcrypt。
pip install bcrypt
回显内容如下,表示安装成功。
Installing collected packages: cffi, six, bcrypt
Running setup.py install for cffi ... done
Running setup.py install for bcrypt ... done
Successfully installed bcrypt-3.1.7 cffi-1.12.3 six-1.12.0
4.测试已完成安装的软件
1)创建“bcrypt_test.py”文件,并添加如下内容。
import bcrypt #导入bcrypt模块password = "mypassword" #定义password变量,并赋值#用一个随机的盐值来加密密码,还可以接受一个参数来控制它要计算多少次,默认是12
magic_value=bcrypt.gensalt()
#使用utf8编码格式对字符串编码pwd = password.encode('utf8')
#使用utf8编码格式对字符串编码hashed = bcrypt.hashpw(pwd, magic_value)
print ("The The cryptographic value is:",hashed)
#验证明文密码和加密密码的一致性if bcrypt.checkpw(password.encode('utf8'), hashed):
print("They Matches!")
else:
print("They Do not Match.")
2)进入python交互界面,输入命令。
python bcrypt_test.py
回显内容如下,表示测试成功。
The cryptographic value is: b'$2b$12$lBFnCJHexc8jKySIBnD56ukMNZvbcFeBOgw7TQqxqqHOhUiys
yPw.'
They Matches!