国产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
主站蜘蛛池模板: 亚洲精品乱码久久久久久v 亚洲精品免费观看 | 欧美a色爱欧美综合v | 国产资源视频在线观看 | 亚洲视频在线视频 | 亚洲精品乱码久久久久久v 亚洲精品免费观看 | 亚洲 欧美 中文 日韩专区 | 久久久久亚洲 | 亚洲精品午夜国产va久久成人 | 91网红福利精品区一区二 | 日韩欧美高清在线 | 国产成人三级经典中文 | 亚洲一级二级三级 | 久久综合精品国产一区二区三区无 | 精品视频在线观看视频免费视频 | 成人一区二区免费中文字幕 | 精品精品国产高清a毛片牛牛 | 日韩综合 | 久久伊 | 亚洲欧美中文字幕 | 97久久综合区小说区图片专区 | 国产成人高清亚洲一区久久 | 最新国产精品亚洲 | 国产欧美日韩综合 | 美女视频黄a视频全免费应用 | 日韩国产欧美视频 | 国产成人黄网址在线视频 | 欧美网站在线看 | 一级大毛片 | 美女网站一区二区三区 | 日本一二三区高清 | 成人午夜精品久久久久久久小说 | 日韩欧美系列 | 国产一区二区在线看 | 欧美区一区 | 99精品在免费线视频 | 国产日产高清欧美一区二区三区 | 日日碰日日摸日日澡视频播放 | 欧美 日韩 中文字幕 | 92国产福利久久青青草原 | 精品国产91乱码一区二区三区 | 日韩综合在线视频 |