简介
bcrypt是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。
配置流程
本文选用华为鲲鹏 云服务 ECS KC1实例做测试,KC1实例的处理器为兼容ARMv8指令集的鲲鹏920。
1. 选择操作环境
本文选用华为鲲鹏云服务ECS KC1实例做测试
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!