MySQL數(shù)據(jù)庫如何加密和解密
在安全領(lǐng)域,數(shù)據(jù)加密、解密非常的重要。對程序員而言,在數(shù)據(jù)庫中以密文方式存儲用戶密碼對入侵者剽竊用戶隱私意義重大。
有多種前端加密算法可用于數(shù)據(jù)加密、解密,下面我向您推薦一種簡單的數(shù)據(jù)庫級別的數(shù)據(jù)加密、解密解決方案。
以MySQL數(shù)據(jù)庫為例,它內(nèi)建了相應(yīng)的加密函數(shù)(AES_ENCRYPT() )和解密函數(shù)(AES_DECRYPT())。
在表中插入加密數(shù)據(jù)
1.INSERT INTO userdata(username,pasword,encryptedpassword)
VALUES ('smith','htims',AES_ENCRYPT('htims','key'))
上面的插入語句有三個字段,“用戶名”、“密碼”和“加密的密碼”。AES_ENCRYPT()函數(shù)需要一個“key”來協(xié)助加密,同樣,解密也需要它(請牢記?。?。
從表中查詢加密數(shù)據(jù)
1.SELECT username,pasword,AES_DECRYPT(encryptedpassword,'key')
FROM userdata
上面的查詢語句使用了AES_DECRYPT()函數(shù)。下面是運行結(jié)果:
在上面的截圖中,我們可以看到“pasword”和“decryptedpassword”字段的值是相同的,也就是說,你解密了用戶密碼。
聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。










