如何在python中创建和访问受密码保护的SQlite3“.db”文件?

2024-04-26 04:53:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用tkinter为一个简单的密码管理器编写一个程序。

当用户注册时,会创建一个“usr.json”,并且各种网站的密码和用户名列表存储在一个json数组中。

    def createUser(self):
    username=self.Entry1.get()
    p1=self.Entry2.get()
    p2=self.Entry3.get()
    if(p1!=p2):
        messagebox.showerror('Error',"Password did not match")
    else:
        password=(p1).encode('utf-8')
        hashed_password=hashlib.sha512(password).hexdigest()
        l=[]
        l.append(hashed_password)
        l.append(dict())
        path=os.getcwd()+'/SAFE/'+username+'.json'
        if p.exists(path):
            messagebox.showinfo('exists','An account with similar user name already exists\nPlease go to login page')
        else:
            f=open(path,'w')
            data=json.dumps(l,indent=4)
            f.write(data)
            f.close()
            messagebox.showinfo('Done','please go to login page')

问题是任何人谁可以访问我的文件,可以浏览到“.json”文件并打开它。我知道不太安全!。我在网上搜索了一些替代方案,发现我们可以在SQlite3中创建一个“.db”文件。

这是我需要帮助的地方(实际上很多!!)

  • 创建受密码保护的.db文件
  • 将密码保护文件的内容加载到 字典

提前谢谢


Tags: 文件pathselfjson密码getifexists