我正在使用不安全的无线网络(因为安全网络当前已关闭)。
我想知道:当您登录 MySQL 时,客户端程序是否会在发送密码之前对其进行加密?
以下是一个例子:
mysql -h <db_address> -D <db_name> -u <user_name> -p<password> --secure-auth=FALSE
这是我目前用来连接 MySQL 的登录语句。如果我在不安全的无线网络上执行此登录语句,它会将我的密码以明文形式发送到网络上吗?
(如果您想知道,--secure-auth = FALSE 是我们使用的参数,因为如果没有它,登录就不起作用。)
答案1
密码不是以纯文本形式发送的,但是您使用的旧式密码方案存在已知问题,因此相对容易被破解。
看http://dev.mysql.com/doc/internals/en/authentication-method.html以及相关问题https://stackoverflow.com/questions/11192689/how-secure-is-authentication-in-mysql-protocol。