如何理解MySQL的可插入验证和客户端明文验证插件

如何理解MySQL的可插入验证和客户端明文验证插件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

MySQL 支持多种通过可插入验证提供的验证机制。

  • 插件是内置的,也可作为外部库提供。

  • 默认的服务器端插件是内置的,始终可用,其中包括:

– mysql_native_password:这是默认机制
– mysql_old_password:此插件的实现验证的方式与MySQL4.1.1 之前的版本相同。
– sha256_password:此插件可启用口令的SHA-256散列。
MySQL 使用多种算法对用户表中存储的口令加密:

  • mysql_native_password 插件实施标准口令格式:41 字节宽的散列。

  • mysql_old_password 插件实施较旧的格式,安全性较低,16 字节宽。

  • sha256_password 插件实施在安全计算中广泛采用的SHA-256 散列算法。

old_passwords 系统变量的值指定PASSWORD() 函数用于创建口令的算法,如下所示:

  • 0:标准算法,与MySQL 4.1.1 及更高版本中所用的算法相同

  • 1:旧算法,与MySQL 4.1.1 之前版本中所用的算法相同

  • 2:SHA-256 算法

启动服务器时将default-authentication-plugin 选项设置为sha256_password,
可将SHA-256 口令用于所有新用户,也可使用CREATE USER 和IDENTIFIED WITH sha256_password子句为特定用户指定SHA-256 口令。

客户端明文验证插件
MySQL 客户机库中有一个内置的明文验证插件
mysql_clear_password。该插件:

  • 用于将纯文本口令发送给服务器

– 口令通常经过散列处理。

  • 通过以下方式启用:

– LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN 环境变量
– 在运行MySQL 客户机应用程序(如mysql 和
mysqladmin)时指定–enable-cleartext-plugin
– mysql_options() C API 函数的
MYSQL_ENABLE_CLEARTEXT_PLUGIN 选项
有些验证方法(如PAM(Pluggable Authentication Module,可插入验证模块)验证)要求客户机向服务器发送纯文本口令,以便服务器处理普通形式的口令。
mysql_clear_password 插件支持此行为。

关于如何理解MySQL的可插入验证和客户端明文验证插件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/204364.html

(0)
上一篇 2021年11月29日
下一篇 2021年11月29日

相关推荐

发表回复

登录后才能评论