Skip to content
This repository has been archived by the owner on May 14, 2024. It is now read-only.

CypressVillage/pwd

Repository files navigation

简介

​ 不知道你日常保存密码的方式是什么呢?是脑力超强全凭记忆?还是把它们记到一个特定的地方?我属于后者,然鹅一直没有找到很好的地方,之前都一直用Excel,有不方便(要一层层点开文件夹,放桌面上又太显眼),打开慢等缺点,我寻思记个密码也不需要什么高级功能,既然没有软件满足需求,那我就自己来一个。于是, 写了一个300多行的密码管理器,名字是pwd,取名“password”的简写,也是为了输命令时方便。希望对你有所帮助。


更新日志

2022.4.12

  • 修改了复制到剪贴板不能为多位数的bug
  • 完善英语界面

2022.3.22

  • 将部分语言写入单独文件
  • 添加密码是否可见选项,默认是
  • 添加复制到剪贴板功能,按c加序号可以将对应密码复制到剪贴板

2022.3.2

  • 优化search代码结构,删除了无用函数
  • 添加cls选项,可以设置清屏
  • password结构体命名更改,不再用汉语拼音
  • 添加二级密码功能,默认关闭,初始密码为1
  • 优化文件路径获取
  • 增加开发者模式
  • 增加设置界面

2022.2.27

  • 配置文件功能上线!现在在密码本文件夹下新建config.pwd文件,再参照文档提示就可以设置程序的行为了!(目前只有为了测试更改的分割线样式和同样为了测试上线的英文模式(别用!))
  • 优化了文件架构(雾),现在全局变量和宏定义都集中到config.h里了

2022.2.19

  • 添加文件列表,文件删除功能

2022.2.17

  • 更改整体架构!现在main函数变得简洁了
  • 添加多文件支持,用户现在可以创建多个密码本
  • 默认编码为UTF-8了,用户无需自行设置更改

2022.2.14

  • 增加文件选择功能

使用说明

  • 这是一个简单的密码管理程序,每条密码分为5个部分,按行存储,实例如下:

    GitHub

    2169626027@qq.com

    CypressVillage

    bugaosuni~~

    1

  • 该程序可以实现简单的密码储存,查找,更改等工作

  • 操作界面:(windows terminal下)背景图片是windows terminal实现的,与程序无瓜

    image-20211125234510692 image-20211125234847203 image-20211125234931148 image-20211125235127859
    • 因为本人太菜。。。怎么也搞不好delete的部分,就,就,就删掉了delete的功能(逃),delete功能改为把账号名更换为“todelete”。。。想真正实现删除有以下3种方案:
      1. 鼓励作者好好学习掌握更多知识并催更作者(成功率0.01%)
      2. 就这就这?这么简单的操作作者竟然写不出来?直接对线作者,告诉作者怎么改代码!作者会感谢你的!
      3. 自己动手,丰衣足食!点开自己存密码的文件手动删除(写程序的意义在哪里。。。不过删除的场景应该不多,这程序凑活着也能用)
    • 删除功能正式上线啦!

注意事项(必读):

  • 请事先在程序所在文件夹下创建一个名为pwd_data.txt的文件,用于储存密码信息。所有密码储存在pwd_data.txt中!(由于添加密码本功能,该项已移除 程序只是用“值传递”的方式运行,记得保存!记得保存!记得保存!(按8保存)
  • 默认各信息最大长度为30字节,lnk(快捷方式)是2字节, 可以根据需求自行更改(lnk现在可以是字符串了)
  • 除了第一项账号其他的信息允许重复(账号也没有重复的可能吧),查找时会列出所有满足条件的密码
  • 因为C语言要实现将汉字读入文件比较麻烦(其实就是自己菜),本程序不支持输入汉字,如果输入在文件里会是空白。(但是在文本文档里以正确编码输入汉字是可以读取的,另外记事本的默认编码是UTF-8)
  • 我的日常使用场景是将程序加入环境变量,配合windows terminal右键在cmd中打开(极其舒适),所以编码默认为GB 2312,若需要UTF-8可自行更改(默认编码UTF-8了)
  • 因为会在cmd不同路径中打开文件,所以我自己的程序里pwd_data.txt用的是绝对路径,所以,你直接编译出来的程序是一定会报错的!可以自行更改路径。(现在仍需更改文件夹路径,且配置文件的路径也是这个)
  • 程序里有一个system("pause");我给注掉了,加上它的原因是使用cmd直接双击打开程序运行时,程序结束就不会有提示(有点强迫症),但是这个功能对于我没什么用,可自行修改(现在关闭直接刷新页面了)
  • 已知问题:更改密码时如果第一次输入错误,第二次输入时将会产生bug(待解决)

短期咕咕咕计划:

  • 搞定删除功能
  • 添加多文件操作,可设置多个“密码本”
  • 添加二级密码功能
  • 添加更改快捷方式名称功能
  • 重写search_password功能和change_password功能(所以上面一条删了呵呵呵)
  • 完成密码本列表,密码本删除,密码本更名功能
  • 新建密码本功能(写完才想起来)
  • 中英文切换功能,外观自定义功能,完成一半,加油!具体想法是添加config.h文件
  • 计划写一个函数专门实现打印不同语言功能,减少程序臃肿程度
  • 完成get_path函数,减少程序臃肿程度
  • 写完config.h,添加设置界面
  • 添加文件导出功能

长期咕咕咕计划:

  • 设置文件目前叫config.pwd后缀是自己抖机灵。。。本着不重复造轮子的原则,计划使用json文件来作配置文件,添加cjson作为解码器。不过这要看程序复杂程度了,像现在这个级别完全没必要。。。

others

致19岁的自己:

这是我给自己的19岁生日礼物~但是不得不说时间真的好紧张,大学生活真的好忙……

也是我写的第一个可以称得上是一个小项目的东东了,过程确实历尽艰辛,为了解决怎么读取文件这件事花了两天……还有不知道结构体定义到底放在哪个文件里怎么编译也过不了……不会给定义好的字符数组赋值……以及不知道char*和char(*)[30]的区别……不过正因为好多不懂,所以我收获了好多!冲鸭~

“要把所有的夜归还给星河,把所有的春光归还给疏疏篱落,把所有的慵慵沉迷与不前,归还给过去的我。明日之我,胸中有丘壑,立马振山河。”

小小花絮:

曾经一度以为自己肝不动了~~

image-20211125211834941

咨询软件发布者,懂了……等等???

image-20211125232637653

收获随笔

  • 全局变量最好写在.c文件里!写在.h文件里会出现重复定义错误,添加static修饰符后又会使变量只在当前文件里生效,出现不能更改变量的bug

bug1

About

A password-storage program

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published