MySQL OCP888题解037-sha256_password(SHA-256可插入式认证)

1、原题

1.1、英文原题

You have the following in your my.cnf configuration file:
[mysqld]
default_authentication_plugin=sha256_password
You want to create a new user who will be connecting from the IP address 192.0.2.10, and you want to use the authentication p lug- in that implements SHA-256 hashing for user account passwords.
Which two statements would create a user named webdesign for this IP address with the password of imbatman using a SHA_256 password hash?
A、CREATE USER ‘webdesign’@‘192.0.2.10’ IDENTIFIED AS sha256_user WITH sha256_password ‘imbatman’;
B、CREATE USER ‘webdesign’@‘192.0.2.10’ IDENTIFIED BY ‘iambatman’;
C、CREATE USER ‘webdesign’@’192.0.2.10’ IDENTIFIED WITH sha256_password BY ‘imbatman’;
D、CREATE USER WITH sha256_password ‘sha256_user’@‘192.0.2.10’ IDENTIFIED AS ‘webdesign’ USING ’ imbatman’;
E、CREATE USER ‘webdesign’@‘192.0.2.10’ WITH mysql_native_password USING SHA265 BY ‘imbatman’;
F、CREATE USER ‘webdesign’@‘192.0.2.10’ IDENTIFIED BY SHA265 AS ‘imbatman’;

1.2、中文翻译

my.cnf配置文件中包含以下内容:
[mysqld]
default_authentication_plugin=sha256_password
您希望创建一个新用户,该用户将从IP地址192.0.2.10进行连接,并且希望使用身份验证插件,该插件实现用户帐户密码的SHA-256哈希。哪两个语句将使用SHA_256密码哈希为该IP地址创建一个名为webdesign的用户,其密码为imbatman?
A、CREATE USER ‘webdesign’@‘192.0.2.10’ IDENTIFIED AS sha256_user WITH sha256_password ‘imbatman’;
B、CREATE USER ‘webdesign’@‘192.0.2.10’ IDENTIFIED BY ‘iambatman’;
C、CREATE USER ‘webdesign’@’192.0.2.10’ IDENTIFIED WITH sha256_password BY ‘imbatman’;
D、CREATE USER WITH sha256_password ‘sha256_user’@‘192.0.2.10’ IDENTIFIED AS ‘webdesign’ USING ’ imbatman’;
E、CREATE USER ‘webdesign’@‘192.0.2.10’ WITH mysql_native_password USING SHA265 BY ‘imbatman’;
F、CREATE USER ‘webdesign’@‘192.0.2.10’ IDENTIFIED BY SHA265 AS ‘imbatman’;

1.3、答案

B、C

2、题目解析

2.1、题干解析

本题考察SHA-256可插入式认证。

3、知识点

3.1、知识点1:SHA-256可插入式认证

官方参考文档

3.1.1、概要介绍

MySQL提供了两个认证插件,为用户账户密码实现SHA-256散列。

  • sha256_password:实现基本的SHA-256认证。在sha256_password这个名字中,"sha256 "指的是该插件用于加密的256位摘要长度。
  • caching_sha2_password:执行SHA-256认证(类似sha256_password),但在服务器端使用缓存以获得更好性能,并具有更广泛适用性的额外功能。在caching_sha2_password这个名字中,"sha2 "更多的是指SHA-2类加密算法,其中256位加密是一个实例。这个名称选择为将来扩展可能的摘要长度留下了空间,而无需改变插件的名称。

3.1.2、安装SHA-256可插拔认证

sha256_password插件以服务器和客户端形式存在。
服务器端的插件内置于服务器中,不需要显式加载,并且不能通过卸载它来禁用。
客户端插件内置于 libmysqlclient 客户端库中,任何与 libmysqlclient 连接的程序都可以使用。

3.1.3、使用SHA-256可插拔认证

要设置一个使用sha256_password插件进行SHA-256密码散列的账户,使用以下语句,其中password是所需的账户密码。所以选项C是正确的。

CREATE USER 'sha256user'@'localhost' IDENTIFIED WITH sha256_password BY 'password';

要在默认认证插件设置为sha256_password的情况下启动服务器,请在服务器选项文件中加入这些行。

[mysqld]
default_authentication_plugin=sha256_password

这导致新账户默认使用sha256_password插件。因此,可以在不明确命名该插件的情况下创建账户并设置其密码。

CREATE USER 'sha256user'@'localhost' IDENTIFIED BY 'password';

对于使用sha256_password插件的客户端,在连接到服务器时,密码永远不会以明文形式暴露。密码如何传输取决于是否使用了安全连接或RSA加密。

4、总结

  1. 可以使用sha256_password来256位摘要长度的密码加密认证,这样避免明文泄密。
  2. 有两种方式使用sha256_password:
    1. 在配置文件中做如下配置,则所有创建的账户都默认使用sha256:
[mysqld]
default_authentication_plugin=sha256_password
2. 创建用户时指定,如下所示:
CREATE USER 'sha256user'@'localhost' IDENTIFIED WITH sha256_password BY 'password';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值