1. 程式人生 > >MySQL修改密碼和加密

MySQL修改密碼和加密

1,給密碼加密

範例:使用者名稱是hw;密碼是root,不想別人在資料庫中看到密碼root的明文:

insert into hw values(null,'hw',PASSWORD('root'));

那麼別人在資料庫中select看到的結果就是:

——-|—————————|———————-

id name password2
1 hw *A0B30B8D9F3C3595594C253D96748149629A9407

其中 *A0B30B8D9F3C3595594C253D96748149629A9407是經過PASSWORD函式加密的。

那麼在Web中如何驗證加密後的密碼呢?
使用的SQL語句是:
“select count(*)from hw where hw.name =? and hw.password2=PASSWORD(?)”
具體的驗證程式碼如下:

public boolean getByName(String name,String password){
        BigInteger  pass=(BigInteger )this.sessionFactory.getCurrentSession().
        createSQLQuery("select count(*)from hw where hw.name =? and hw.password2=PASSWORD(?)").
setParameter(0, name).setParameter(1, password).uniqueResult();
        if
(0==pass.intValue())return false; return true; }

2,修改MySQL密碼

有兩種方式修改MySQL密碼

方式一

mysql>  update mysql.user set password=PASSWORD('root') where user='root';
mysql> flush privileges;

方式二
執行cmd進入命令列視窗,然後輸入:

mysqladmin -uroot -proot password 1234 (把密碼從root改為1234)
mysqladmin -uroot
-phw password root (把密碼從hw改為root)

3,建立新使用者

mysql> grant all  on *.* to [email protected] identified by1234with grant option;

@ 後面跟ip,表示允許登入的ip,%表示允許任何ip訪問
這裡寫圖片描述