如何使用HashCheck判斷你的密碼是否已泄露
關(guān)于HashCheck
HashCheck項(xiàng)目旨在幫助廣大用戶搜索泄露的密碼,并判斷自己的密碼安全態(tài)勢(shì),同時(shí)保持高等級(jí)的隱私保護(hù)程度。
為了實(shí)現(xiàn)我們的目標(biāo),HashCheck使用了各種不同服務(wù)所提供的API,我們只需要檢查密碼哈希的一部分即可實(shí)現(xiàn)密碼泄露判斷,比如說(shuō)密碼哈希的前五個(gè)字符。
工具要求
該項(xiàng)目需要使用某些代碼庫(kù)才能正常工作,我們只需運(yùn)行下列命令即可安裝:
- ip install -r requirements
別忘了,先要在本地環(huán)境中安裝好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.
功能函數(shù)
(1) PASSME_HASH
該項(xiàng)目的主要功能函數(shù),負(fù)責(zé)接收一個(gè)密碼哈希,并調(diào)用分析引擎和API密鑰。API密鑰和密碼哈希必須根據(jù)情況發(fā)送至其他函數(shù)。
如果你想要添加自己的引擎或?qū)崿F(xiàn)一個(gè)還未實(shí)現(xiàn)的引擎,只需要多添加一個(gè)選項(xiàng)即可:
- passme_hash(hashed_password, engine="HIBP", api_key="0")
(2) PASSME_PASSWORD
這個(gè)函數(shù)會(huì)使用SHA-1對(duì)密碼進(jìn)行哈希計(jì)算,并將哈希發(fā)送至passme_hash()函數(shù):
- passme_password(password, engine="HIBP", api_key="0")
(3) PASSME_FILE
這個(gè)函數(shù)可以按行讀取接收到的文件內(nèi)容,并檢查每一個(gè)密碼,然后給出接收到的密碼的相關(guān)信息:
- passme_file(filename, engine="HIBP", api_key="0")
(4) PASSME_LIST
這個(gè)函數(shù)可以按行讀取接收到的文件內(nèi)容,并檢查每一個(gè)密碼哈希,然后給出接收到的密碼哈希的相關(guān)信息:
- passme_list(filename, engine="HIBP", api_key="0")
(5) PASSME_HIBP
這個(gè)函數(shù)可以處理HIBP(Have I Been Pwned) API,并發(fā)送密碼哈希的前五個(gè)字符,然后跟完整的密碼哈希進(jìn)行比對(duì),以判斷密碼是否已泄露:
- engine_HIBP(hashed_password, engine, api_key)
功能測(cè)試
這個(gè)項(xiàng)目還提供了大量的測(cè)試用例以判斷功能函數(shù)是否能夠正常運(yùn)行,如果需要測(cè)試的話,還需要安裝“pytest”庫(kù):
- pip install pytest
安裝好之后,只需要運(yùn)行“pytest”命令即可自動(dòng)運(yùn)行完整的測(cè)試用例。
項(xiàng)目地址
HashCheck:【GitHub傳送門(mén)】
許可證協(xié)議
本項(xiàng)目的開(kāi)發(fā)與發(fā)布遵循GNU開(kāi)源許可證協(xié)議。