如何使用HashCheck判斷你的密碼是否已泄露
關于HashCheck
HashCheck項目旨在幫助廣大用戶搜索泄露的密碼,并判斷自己的密碼安全態勢,同時保持高等級的隱私保護程度。
為了實現我們的目標,HashCheck使用了各種不同服務所提供的API,我們只需要檢查密碼哈希的一部分即可實現密碼泄露判斷,比如說密碼哈希的前五個字符。
工具要求
該項目需要使用某些代碼庫才能正常工作,我們只需運行下列命令即可安裝:
- ip install -r requirements
別忘了,先要在本地環境中安裝好Python 3。
工具使用
- passme.py [FUNC] [ELEMENT] -engine [ENGINE] -api_key [API_KEY]
- FUNC: The kind of element tha you want to check, it can be -h/--hash or -p/--password
- or -f/--file or -l/--list or --help.
- ELEMENT: The "Hash", "Password" or the name of the file that contains a list of
- hashes or password separeted by a new line.
- ENGINE: The leaks engine that you want to be used, by default it uses HIBP (Have I been PWN).
- API_KEY: The API_KEY necessary for some functions of some engines.
功能函數
(1) PASSME_HASH
該項目的主要功能函數,負責接收一個密碼哈希,并調用分析引擎和API密鑰。API密鑰和密碼哈希必須根據情況發送至其他函數。
如果你想要添加自己的引擎或實現一個還未實現的引擎,只需要多添加一個選項即可:
- passme_hash(hashed_password, engine="HIBP", api_key="0")
(2) PASSME_PASSWORD
這個函數會使用SHA-1對密碼進行哈希計算,并將哈希發送至passme_hash()函數:
- passme_password(password, engine="HIBP", api_key="0")
(3) PASSME_FILE
這個函數可以按行讀取接收到的文件內容,并檢查每一個密碼,然后給出接收到的密碼的相關信息:
- passme_file(filename, engine="HIBP", api_key="0")
(4) PASSME_LIST
這個函數可以按行讀取接收到的文件內容,并檢查每一個密碼哈希,然后給出接收到的密碼哈希的相關信息:
- passme_list(filename, engine="HIBP", api_key="0")
(5) PASSME_HIBP
這個函數可以處理HIBP(Have I Been Pwned) API,并發送密碼哈希的前五個字符,然后跟完整的密碼哈希進行比對,以判斷密碼是否已泄露:
- engine_HIBP(hashed_password, engine, api_key)
功能測試
這個項目還提供了大量的測試用例以判斷功能函數是否能夠正常運行,如果需要測試的話,還需要安裝“pytest”庫:
- pip install pytest
安裝好之后,只需要運行“pytest”命令即可自動運行完整的測試用例。
項目地址
HashCheck:【GitHub傳送門】
許可證協議
本項目的開發與發布遵循GNU開源許可證協議。