华为云计算 云知识 bcrypt如何配置
bcrypt如何配置

简介

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!
上一篇:IAM中如何获取访问密钥AK/SK 下一篇:云享读书会《SQL优化核心思想》