ITPub博客

MySQL的可插入验证和客户端明文验证插件介绍

原创 作者:chenfeng 时间:2017-04-05 13:09:48 0 删除 编辑
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,MongoDB和Redis技术。 微信或QQ:410294

注册时间:2015-12-07

  • 博文量
    634
  • 访问量
    1317242