以前学校的老师找到我说需要把班上的电子白板锁上但是嫌输密码太麻烦,滑动黑板的锁又没有钥匙,于是给他用 Python 随便写了这么一个小程序,写都写了顺便也分享给大家。
配合 http://www.52pojie.cn/thread-1992305-1-1.html 使用可以实现锁定解锁自动化,类似于加密狗。
主打防君子不防小人,懂点的很容易可以绕开,但是对付一般学生我觉得够用了,如果有一样或者类似需求的可以用用看。
Autolock
检测到指定 U 盘拔出时锁定 Windows
用法
1. 取 U 盘卷序列号摘要
Win+R cmd 切换到 U 盘盘符(直接输入盘符加冒号如 "F:")
'vol' 回车 即取得卷序列号
中间的横杠不要 计算其 SHA256
该步骤也可自动完成,后附小工具检测已连接的所有可移动卷
2. 写配置
新建文件 config.json
:
{
"sleep":1,
"reload_delay":10,
"psn256":[
"",
""
]}
其中:sleep
:检测间隔,单位秒,即每隔多少时间检测一次设备是否存在reload_delay
:配置重载时间,按 sleep*reload_delay 计算,即每隔多少个检测周期重新读取一次该配置文件(这样不需要重启程序即可使得配置生效)
如果修改该项,则必须等待之前配置的至少一个周期后才会生效。psn256
:卷序列号的 SHA256 值。用双引号括住,逗号分割,最后一个不需要逗号。
3. 启动程序
将 config.json
放入程序所在文件夹中,双击启动程序即可
如果 U 盘未插入或被拔出,将自动锁屏。
TODO
1.实现安全模式(启动后如果没有检测到任何授权设备不自动锁定电脑,直到授权设备接入后再移除)
2.实现备用解锁(没有什么很好的思路,目前的想法是检测U盘是否存在指定文件并校验文件内容以替代对卷序列号的校验,也可以结合两者使用提高安全性但这样需要考虑其他的备用解锁方式)
3.实现权限管理(如指定设备只具有解锁多少次 多长时间的权限限制)
如果没人说需要的话不一定会实现 有其他需要也可以提 视情况考虑实现
GetVolInfo
输出所有已连接到电脑的可移动卷序列号
用法
GetVolInfo
也可直接双击启动。
带参以直接输出 SHA256 值。
GetVolInfo --sha256
暂无评论内容