password()与password_old(),这两个函数区别是什么呢?
修改密码时,用哪个函数才对呀。
我用 password()是成功的,但是我不知password_old()作用是什么?
好多代码,都是用的这个函数呀?

解决方案 »

  1.   

    password()自4.1以后发生了变化。password_old()可以保证与4.1以前的版本使用相同的产生机制。大致是这个样子。 
      

  2.   

    OLD_PASSWORD(str) 
    当PASSWORD()的执行变为改善安全性时,OLD_PASSWORD()会被添加到 MySQL。OLD_PASSWORD()返回从前的PASSWORD()执行值( 4.1之前),同时允许你为任何4.1 之前的需要连接到你的5.1 版本MySQL服务器前客户端设置密码,从而不至于将它们切断。请参见5.7.9节,“MySQL 4.1中的密码哈希处理”。 PASSWORD(str) 
    从原文密码str 计算并返回密码字符串,当参数为 NULL 时返回 NULL。这个函数用于用户授权表的Password列中的加密MySQL密码存储mysql> SELECT PASSWORD('badpwd');        -> '7f84554057dd964b'PASSWORD() 加密是单向的 (不可逆 )。