- 插件是内置的,也可作为外部库提供。
- 默认的服务器端插件是内置的,始终可用,其中包括:
– mysql_old_password:此插件的实现验证的方式与MySQL4.1.1 之前的版本相同。
– sha256_password:此插件可启用口令的SHA-256散列。
MySQL 使用多种算法对用户表中存储的口令加密:
- mysql_native_password 插件实施标准口令格式:41 字节宽的散列。
- mysql_old_password 插件实施较旧的格式,安全性较低,16 字节宽。
- sha256_password 插件实施在安全计算中广泛采用的SHA-256 散列算法。
- 0:标准算法,与MySQL 4.1.1 及更高版本中所用的算法相同
- 1:旧算法,与MySQL 4.1.1 之前版本中所用的算法相同
- 2:SHA-256 算法
可将SHA-256 口令用于所有新用户,也可使用CREATE USER 和IDENTIFIED WITH sha256_password子句为特定用户指定SHA-256 口令。
客户端明文验证插件
MySQL 客户机库中有一个内置的明文验证插件
mysql_clear_password。该插件:
- 用于将纯文本口令发送给服务器
- 通过以下方式启用:
– 在运行MySQL 客户机应用程序(如mysql 和
mysqladmin)时指定--enable-cleartext-plugin
– mysql_options() C API 函数的
MYSQL_ENABLE_CLEARTEXT_PLUGIN 选项
有些验证方法(如PAM(Pluggable Authentication Module,可插入验证模块)验证)要求客户机向服务器发送纯文本口令,以便服务器处理普通形式的口令。
mysql_clear_password 插件支持此行为。