欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用tkinter寫一個(gè)本地密碼管理器

 更新時(shí)間:2023年05月07日 08:58:23   作者:nerkeler  
閑來無事,看到自己有很多網(wǎng)站的賬戶密碼,有些網(wǎng)站可能打開一兩次也就忘記了,下一次在輸入賬戶密碼就想不起來,這樣很容易丟失賬號(hào)。所以本文就來用Python和tkinter寫一個(gè)本地密碼管理器吧

詳細(xì)代碼見倉庫

github地址:github.com/nerkeler/account

重要提示

程序默認(rèn)密碼:password

密鑰位置:./resource/aesKey 建議另存一份以作備份

修改點(diǎn)

  • 本地密碼導(dǎo)出中文亂碼修復(fù)
  • 引入日志記錄
  • 優(yōu)化edge/chrome 瀏覽器導(dǎo)出適配管理

PS: 程序第一次打開關(guān)于頁面顯示不完整,如果遇到,請關(guān)閉后再打開

前言

閑來無事,看到自己有很多網(wǎng)站的賬戶密碼,有些網(wǎng)站可能打開一兩次也就忘記了,下一次在輸入賬戶密碼就想不起來,這樣很容易丟失賬號(hào)(當(dāng)然也可以保存在瀏覽器自帶的密碼管理器中),雖然市面上也有很多優(yōu)秀的賬戶密碼管理軟件,一來是這些程序大都是聯(lián)網(wǎng)運(yùn)行,在提供了多端存檔的同時(shí),也將密碼和賬戶在網(wǎng)絡(luò)上傳輸,雖然實(shí)際上很安全,但是并不是絕對的安全,二來,部分優(yōu)秀的程序都是訂閱付費(fèi)機(jī)制,就想著自己干脆寫個(gè)簡單的本地的賬戶管理器,于是就有了這個(gè)小程序

先說一下優(yōu)點(diǎn)吧,同市面上的程序比較,一個(gè)最突出的優(yōu)點(diǎn)就是完全運(yùn)行在本地,賬戶密碼經(jīng)過AES加密,在邏輯上可以說是非常安全的,因?yàn)槟愕拿艽a不會(huì)暴漏在網(wǎng)絡(luò)上,本地也進(jìn)行了加密處理。

當(dāng)然缺點(diǎn)也很明顯,一是功能不是十分完善,二是該程序使用tkinter 模塊編寫,在布局和界面展示上都顯得十分簡陋,好在基本的功能沒有問題

使用說明

1.下載解壓程序文件

2.運(yùn)行account.exe文件

3.點(diǎn)擊新建賬號(hào)按鈕添加新的賬號(hào)密碼信息

4.雙擊表格中的數(shù)據(jù)進(jìn)行編輯或刪除

5.點(diǎn)擊導(dǎo)出按鈕驗(yàn)證密鑰密碼后將數(shù)據(jù)導(dǎo)出為CSV格式文件

6.點(diǎn)擊導(dǎo)入按鈕選擇CSV文件進(jìn)行導(dǎo)入數(shù)據(jù)

7.可按需求導(dǎo)入并管理Chrome/Edge密碼本瀏覽器密碼

登錄

第一次登陸密鑰彈出框被關(guān)閉時(shí),就進(jìn)入了程序的登錄界面,默認(rèn)賬戶名admin 不可修改,默認(rèn)密碼為 :password,建議第一次登陸時(shí)修改密碼

PS: 多用戶功能尚未開發(fā),因此賬戶名鎖定不可編輯

修改密碼

在登陸界面 點(diǎn)擊 改密 進(jìn)入修改密碼界面,新密碼要求字符數(shù)大于8位,點(diǎn)擊確定 按鈕即可進(jìn)行密碼修改,修改成功后會(huì)提示修改成功,重新登陸,如下圖所示

chrome/edge瀏覽器密碼導(dǎo)入管理

依次點(diǎn)擊:

1.設(shè)置

2.自動(dòng)填充

3.密碼管理器

找到如圖紅框內(nèi)容,驗(yàn)證設(shè)備密碼后導(dǎo)出chrome密碼本csv文件到本地

回到程序后點(diǎn)擊導(dǎo)入

對應(yīng)導(dǎo)入源后選擇導(dǎo)入文件即可導(dǎo)入數(shù)據(jù),單線程導(dǎo)入較慢,請耐心等待,快捷鍵暫未適配

主頁面

主界面共分為兩個(gè)區(qū)域:

  • 一個(gè)是上方的功能區(qū),提供了查詢、查看、新增、刪除(軟刪除)功能,
  • 一個(gè)是下方的賬戶展示區(qū)域,默認(rèn)打開時(shí)按照列表展示所有賬戶信息

相關(guān)操作

  • 下拉框提供了 賬戶編號(hào)(對應(yīng)下方序號(hào)列)、網(wǎng)站名稱(對應(yīng)下方網(wǎng)站列)、網(wǎng)站網(wǎng)址(對應(yīng)下方網(wǎng)址列)查詢條件轉(zhuǎn)換
  • 文本框接受 下拉框的對應(yīng)字段,為空時(shí)默認(rèn)查詢所有
  • 點(diǎn)擊某一項(xiàng)賬戶時(shí),點(diǎn)擊查看/雙擊當(dāng)前項(xiàng) 可進(jìn)入當(dāng)前賬戶查看界面,如圖所示,當(dāng)前頁面也可以更新賬戶信息
  • 新增按鈕會(huì)彈出新增界面,按照規(guī)定指示填寫字段即可新增一條記錄
  • 刪除按鈕 在點(diǎn)擊某一項(xiàng)賬戶時(shí),點(diǎn)擊刪除,即可刪除當(dāng)前記錄(軟刪除,更改了當(dāng)前的狀態(tài))

隨機(jī)密碼

可以按照自己的需求生成相應(yīng)的密碼規(guī)則,ABC/123/abc/#$&

注:在密碼長度>字符類型數(shù)的時(shí)候會(huì)補(bǔ)數(shù)字 如 密碼長度選30 規(guī)則選abc 會(huì)在26個(gè)字符后再補(bǔ)幾個(gè)數(shù)字構(gòu)成隨機(jī)字符

關(guān)于

聊勝于無,簡單說一下,詳細(xì)見程序頁面

補(bǔ)充說明

忘記登陸賬戶密碼時(shí),可將account.db 文件使用數(shù)據(jù)庫可視化工具打開,取出當(dāng)前賬戶的相關(guān)信息和密碼,根據(jù)密鑰和加密邏輯解密當(dāng)前賬戶的密碼明文

加密邏輯如下:

import hashlib
from Crypto.Cipher import AES
?
?
def encode_password(password):
    key = yourkey           # key 表示你的密鑰 
    
    slot = "nerkeler"
    encode = key + slot
    myKey = hashlib.md5(encode.encode("utf-8")).hexdigest().__str__()[:24]
    return aes_encode(myKey, password)
    
    
def aes_decode(key, ciphertext):
    # 將密鑰填充到16的倍數(shù)
    key = key + (16 - len(key) % 16) * '\0'
    # 創(chuàng)建AES密碼器對象
    cipher = AES.new(key.encode(), AES.MODE_ECB)
    # 解碼Base64編碼的密文
    ciphertext = base64.b64decode(ciphertext)
    # 解密
    plaintext = cipher.decrypt(ciphertext)
    # 去除填充字符
    plaintext = plaintext.rstrip(b'\0')
    return plaintext.decode()

到此這篇關(guān)于Python使用tkinter寫一個(gè)本地密碼管理器的文章就介紹到這了,更多相關(guān)Python tkinter本地密碼管理器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論