先上效果视屏:https://www.bilibili.com/video/av39199104 视屏声音太小,前面我想表达的是加密文件不只是隐藏那么简单
东西有点多,我想慢慢的,有时间就写一点。哦,这个是我大三上学期c#课的大作业,现在大三下暑假,好像做了不久,但已经很久了,我都快把c#忘光了。。。写这个博客来回顾一下,呸~~~~~~那当然是来装X用。
解锁时:
可以看出原理是内置了几张自己的照片,然后利用笔记本拍照然后进行对比得出每张程序的相似度。
最后对比结果会有 0~1 的相似度,我设置的比较宽,>0.5的相似度就算是本人了。
具体逻辑: 利用shell 脚本,根据exe程序返回值,串联起一套处理文件的逻辑
这个exe程序有两个:拍照程序+人脸识别程序。
shell 脚本 -- face.bat 文件
cls
@ECHO OFF
title Folder Private
if EXIST "HTG Locker" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo 你确定要加密隐藏Private文件夹吗?(Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Private "HTG Locker"
attrib +h +s "HTG Locker"
echo Folder locked
goto End
:UNLOCK
C:\MyApplications\shut.exe
if %ERRORLEVEL%==0 goto wee
echo failed shut picture
goto End
:wee
echo succesful shut!
C:\MyApplications\ArcSoftFace.exe
if NOT %ERRORLEVEL%==0 goto FAIL
attrib -h -s "HTG Locker"
ren "HTG Locker" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto End
:MDLOCKER
md Private
echo Private created successfully
goto End
:End
懂得shell脚本里 dos 命令的人可以看到,其功能为 1、如果当前目录没有private 文件夹 ,就新建一个文件夹
2、如果当前目录有private文件夹,则调用C:\MyApplications\shut.exe 即拍摄程序,等拍摄成功后调用C:\MyApplications\ArcSoftFace.exe 程序(这个程序的原型gitlib上可以下载,我是改装过的使用的是虹软人脸识别2.0sdk )
3、其中夹杂对文件属性的修改操作 attrib +h +s '文件名' 其中 +h 表示将文件变成windows系统文件,就不可见了
-h 对应就是去掉该属性了
+-s 是什么我忘了,改名? 哈哈
如果自己开发人脸识别程序,各种参数还是会很烦的,不过前人种树后人乘凉嘛~~~
- 对于exe的返回值是什么?,学过c语言的同学,你们觉得
int main(){
return 0;
} 这个return 0 你们是不是从没用过?这个return值是有用的!!! c# 也是一样,一个main函数的返回值,就是这个return x;用 vs把winform程序打包成exe 之后 在shell脚本里调用,并可以接收返回值。
C:\MyApplications\shut.exe
if %ERRORLEVEL%==0 goto wee
echo failed shut picture
goto End
比如,上面盗用 shut.exe 程序,程序返回值为0 的话,表明拍摄成功,那就执行wee 步骤,否则,执行End 步骤
那个人脸识别程序也是一样,算了,今天不想写了,有需要程序的,底下留言再来跟新了。