?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

和記博情娛樂:利用MySQL加密函數保護Web網站敏感數據

?

假如您正在運行應用MySQL的Web利用法度榜樣,那么它把密碼或者其他敏感信息保存在利用法度榜樣里的時機就很大年夜。保護這些數據免受黑客或者窺測者的獲取是一個令人關注的緊張問題,由于您既不能讓未經授權的職員應用或者破壞利用法度榜樣,同時還要包管您的競爭上風。幸運的是,MySQL帶有很多設計用來供給這種類型安然的加密函數。本文概述了此中的一些函數,并闡清楚明了若何應用它們,以及它們能夠供給的不合級其余安然。

雙向加密

就讓我們從最簡單的加密開始:雙向加密。在這里,一段數據經由過程一個密鑰被加密,只能夠由知道這個密鑰的人來解密。MySQL有兩個函數來支持這種類型的加密,分手叫做ENCODE()和DECODE()。下面是一個簡單的實例:

mysql> INSERT INTO users (username, password) VALUES ('joe', ENCODE('guessme', 'abracadabra'));

Query OK, 1 row affected (0.14 sec)

此中,Joe的密碼是guessme,它經由過程密鑰abracadabra被加密。要留意的是,加密完的結果是一個二進制字符串,如下所示:

mysql> SELECT * FROM users WHERE username='joe';

+----------+----------+

| username | password |

+----------+----------+

| joe   | ¡?i??!? |

+----------+----------+

1 row in set (0.02 sec)

abracadabra這個密鑰對付規復到原始的字符串至關緊張。這個密鑰必須被通報給DECODE()函數,以得到原始的、未加密的密碼。下面便是它的應用措施:

mysql> SELECT DECODE(password, 'abracadabra') FROM users WHERE username='joe';

+---------------------------------+

| DECODE(password, 'abracadabra') |

+---------------------------------+

| guessme             |

+---------------------------------+

1 row in set (0.00 sec)

應該很輕易和記博情娛樂就看到它在Web利用法度榜樣里是若何運行的——在驗證用戶登錄的時刻,DECODE()會用網站專用的密鑰解開保存在數據和記博情娛樂庫里的密碼,并和用戶輸入的內容進行比較。假設您把PHP用作自己的腳本說話,那么可以像下面這樣進行查詢:

$query = "SELECT COUNT(*) FROM users WHERE usernam和記博情娛樂e='$inputUser' AND DECODE(password, 'abracadabra') = '$inputPass'";?>

提示:雖然ENCOD和記博情娛樂E()和DECODE()這兩個函數能夠滿意大年夜多半的要求,然則有的時刻您盼望應用強度更高的加密手段。在這種環境下,您可以應用AES_ENCRYPT()和AES_DECRYPT()函數,它們的事情要領是相同的,然則加密強度更高。

單向加密

單向加密與雙向加密不合,一旦數據被加密就沒有法子倒置這一歷程。是以密碼的驗證包括對用戶輸入內容的從新加密,并將它與保存的密文進行比對,看是否匹配。一種簡單的單向加密要領是MD5校驗碼。MySQL的MD5()函數會為您的數據創建一個“指紋”并將它保存起來,供驗證測試應用。下面便是若何應用它的一個簡單例子:

mysql> INSERT INTO users (username, password) VALUES ('joe', MD5('guessme'));

Query OK, 1 row affected (0.00 sec)

mysql> SEL和記博情娛樂ECT * FROM users WHERE username='joe';

+----------+----------------------------------+

| username | password             |

+----------+----------------------------------+

| joe   | 81a58e89df1f34c5487568e17327a219 |

+----------+----------------------------------+

1 row in set (0.02 sec)

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

河北十一选五开奖的 河南十一选五开奖走势图 浙江体彩20选5走势图一定牛 极速11选5平台-升级版下载 上海麻将免费 山西十一选五交流群 官网河内五分彩开奖 nba公牛vs尼克斯 陕西快乐十分中奖查 三分pk10免费计划 福州万千恒业股票配资 老快3杀号定旦 河北福彩排列七奖池 9月12号的股票行情 台湾麻将孔雀东南飞牌型图 山西快乐10分钟的玩法 重庆百变王牌前三走势图