国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

利用MySQL加密函數保護Web網站敏感數據的方法分享_MySQL

來源:懂視網 責編:小采 時間:2020-11-09 19:00:23
文檔

利用MySQL加密函數保護Web網站敏感數據的方法分享_MySQL

利用MySQL加密函數保護Web網站敏感數據的方法分享_MySQL:bitsCN.com 如果您正在運行使用MySQL的Web應用程序,那么它把密碼或者其他敏感信息保存在應用程序里的機會就很大。保護這些數據免受黑客或者窺探者的獲取是一個令人關注的重要問題,因為您既不能讓未經授權的人員使用或者破壞應用程序,同時還要保證您的競爭
推薦度:
導讀利用MySQL加密函數保護Web網站敏感數據的方法分享_MySQL:bitsCN.com 如果您正在運行使用MySQL的Web應用程序,那么它把密碼或者其他敏感信息保存在應用程序里的機會就很大。保護這些數據免受黑客或者窺探者的獲取是一個令人關注的重要問題,因為您既不能讓未經授權的人員使用或者破壞應用程序,同時還要保證您的競爭

bitsCN.com 如果您正在運行使用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 username='$inputUser' AND DECODE(password, 'abracadabra') = '$inputPass'";?>

  提示:雖然ENCODE()和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> SELECT * FROM users WHERE username='joe';

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

  | username | password |

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

  | joe | 81a58e89df1f34c5487568e17327a219 |

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

  1 row in set (0.02 sec)

  現在您可以測試用戶輸入的內容是否與已經保存的密碼匹配,方法是取得用戶輸入密碼的MD5校驗碼,并將它與已經保存的密碼進行比對,就像下面這樣:

  mysql> SELECT COUNT(*) FROM users WHERE username='joe' AND password=MD5('guessme');

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

  | COUNT(*) |

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

  | 1 |

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

  1 row in set (0.00 sec)

  或者,您考慮一下使用ENCRYPT()函數,它使用系統底層的crypt()系統調用來完成加密。這個函數有兩個參數:一個是要被加密的字符串,另一個是雙(或者多)字符的“salt”。它然后會用salt加密字符串;這個salt然后可以被用來再次加密用戶輸入的內容,并將它與先前加密的字符串進行比對。下面一個例子說明了如何使用它:

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

  Query OK, 1 row affected (0.00 sec)

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

  +----------+---------------+
 | username | password |

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

  | joe | ab/G8gtZdMwak |

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

  1 row in set (0.00 sec)

  結果是

  mysql> SELECT COUNT(*) FROM users WHERE username='joe' AND password=ENCRYPT('guessme', 'ab');

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

  | COUNT(*) |

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

  | 1 |

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

  1 row in set (0.00 sec)

  提示:ENCRYPT()只能用在*NIX系統上,因為它需要用到底層的crypt()庫。bitsCN.com

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

利用MySQL加密函數保護Web網站敏感數據的方法分享_MySQL

利用MySQL加密函數保護Web網站敏感數據的方法分享_MySQL:bitsCN.com 如果您正在運行使用MySQL的Web應用程序,那么它把密碼或者其他敏感信息保存在應用程序里的機會就很大。保護這些數據免受黑客或者窺探者的獲取是一個令人關注的重要問題,因為您既不能讓未經授權的人員使用或者破壞應用程序,同時還要保證您的競爭
推薦度:
標簽: 密碼 加密 網站
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美成人精品高清在线播放 | 一区二区国产在线观看 | 亚欧成人毛片一区二区三区四区 | 日韩在线亚洲 | 亚洲看片 | 国产精品亚洲精品观看不卡 | 国产不卡在线 | 久久99精品久久久久久水蜜桃 | 国产成人乱码一区二区三区在线 | 久久亚洲私人国产精品 | 欧美综合图片区 | 综合婷婷| 爽妇网s| 国产一区二区三区成人久久片 | 日本色图在线 | 色就是色欧美色图 | 在线亚洲欧美 | 欧美一区二区三区不卡 | 国产自产21区 | 亚洲视频欧洲视频 | 91久久国产| 自拍 欧美 在线 综合 另类 | 久久国产香蕉视频 | 国产在线看不卡一区二区 | 国产欧美综合在线观看第七页 | 国产在线视频在线观看 | 国产精品久久久精品三级 | 欧美日韩视频一区二区在线观看 | 日韩第八页 | 欧美一区二区三区免费播放 | 麻豆视频一区二区 | 亚洲欧美日韩专区 | 亚洲伊人久久大香线蕉综合图片 | 成人国产精品一区二区网站 | 国产高清免费视频 | 国产精品日本一区二区不卡视频 | 国产一区二区免费视频 | 欧美日韩亚洲一区二区三区在线观看 | 精品国产欧美一区二区三区成人 | 国产精品一区二区久久不卡 | 亚洲欧美国产精品 |