中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何把密码加密存放,供批处理运行时调用?
作者:
标题: 如何把密码加密存放,供批处理运行时调用? 上一主题 | 下一主题
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『楼 主』:  如何把密码加密存放,供批处理运行时调用?

如何把密码加密存放,供批处理运行时调用?

[ Last edited by uiopuiop on 2011-1-10 at 23:58 ]

2011-1-10 23:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  

密码的规则是什么?纯数字?数字加字母?还是常用字符?
加密的算法要求是什么?
存放的位置指定在哪?注册表还是文件?



批处理之家 http://bbs.bathome.net/forum-5-1.html
2011-1-11 00:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 3 楼』:  

写了个简单的,密码要求为纯数字,保存在注册表:
@echo off&setlocal enabledelayedexpansion
set x0=!random!!random!!random!!random!!random!&echo !x0!原始
set r=hkcu\Software\hanye


:x1:加密算法
if not "!x0:~%n%,1!"=="" set/a a=!x0:~%n%,1!+!n:~-1!,n+=1&set x1=!x1!!a:~-1!&goto:x1
echo %x1%加密
reg add %r% /ve /d %x1% /f>nul


for /f "tokens=3 delims=这里是制符" %%a in ('reg query %r% /ve') do set x3=%%a
:x2:解密算法
if not "!x3:~%m%,1!"=="" set/a a=1!x3:~%m%,1!-!m:~-1!,m+=1&set x2=!x2!!a:~-1!&goto:x2
echo %x2%解密


pause
reg delete %r% /f>nul
[ Last edited by Hanyeguxing on 2011-1-11 at 01:54 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2011-1-11 01:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by Hanyeguxing at 2011-1-11 12:35 AM:
密码的规则是什么?纯数字?数字加字母?还是常用字符?
加密的算法要求是什么?
存放的位置指定在哪?注册表还是文件?

re: 密码的规则是什么?-  字母数字的混合(当然如果能带特殊符号更好)
re: 加密的算法要求是什么? - 一般不容易破解即可,当然如果能用高级点的加密更好(MD5, dsa, rsa, etc.)

re; 存放的位置指定在哪?最好能存放在一个文件里。

批处理可以调用第三方命令行工具。

PS. 是否能解释一下三楼代码的加密原理,谢谢!

2011-1-11 19:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  

加再多,把if取消……


写的bat的代码,大部分核心操作都要依赖与密码

然后把密码加密MD5在bat里面比较下。如果对了执行。。。

这样看到你的bat源码,如果不比较,随便的password是不行的。


set password=
if md5(password)=fde3494783dfd854

操作的核心部分都要和%passord%有关,中间的某个字符啊,某个
字符再运算变形啊。。。

这个没有正确的password跳过判断下来执行也是不能工作的才可以。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2011-1-12 13:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by slore at 2011-1-12 01:43 PM:
加再多,把if取消……


写的bat的代码,大部分核心操作都要依赖与密码

然后把密码加密MD5在bat里面比较下。如果对了执行。。。

这样看到你的 ...

一般自动化脚本都是自动运行的,不会有人工干预,所以不能人工输入密码。
你MD5加密后,如何解密呢?密码在批处理运行时又必须是明文的,运行时候肯定要解密后在穿给相应的命令的,MD5没法认啊。

2011-1-12 23:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
then0011
新手上路





积分 5
发帖 9
注册 2008-8-28
状态 离线
『第 7 楼』:  

厉害  我菜鸟  所以  只有看的分

2011-1-12 23:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by uiopuiop at 2011-1-12 23:37:


一般自动化脚本都是自动运行的,不会有人工干预,所以不能人工输入密码。
你MD5加密后,如何解密呢?密码在批处理运行时又必须是明文的,运行时候肯定要解密后在穿给相应的命令的,MD5没法认啊。

你要无人干预就不要设置密码。。。。


我这里明文是用set /p pw=

让人输入的,然后md5计算下,和md5相比较。。。能过下面的操作和你输入的密码相关系,所以错误的密码是不能用的。


如果你单纯的密码设置了,而只是自动读取?自动判断。。。
把判断注掉了,你有什么加密可言?



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2011-1-13 09:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
acaigg
初级用户





积分 115
发帖 92
注册 2010-12-24
状态 离线
『第 9 楼』:  

我是很菜的,代码不太懂。但看得出slore的思维比较严谨。

2011-1-13 21:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『第 10 楼』:  

大家有么有什么新的思路?

2011-1-16 19:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cyn01livecn
初级用户




积分 28
发帖 23
注册 2010-11-26
状态 离线
『第 11 楼』:  

简单,替换文字就行了,例如把“1”替换成“X”让人看不懂,调用时再把他换回来。

2011-1-18 12:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
goltaxhs
新手上路





积分 8
发帖 8
注册 2017-8-21
状态 离线
『第 12 楼』:  

1、用C编个最简单的int main(int argc, char * argv[]) 程序, char * argv[]就是第一个参数,程序会对第一个参数进行检查(就是密码),如果成功返回T,失败返回F。
2、在批处理中做一个SE /P PWD=要求输入密码,再将输入值传给第一步的程序,进行参数即密码,进行判断。
3、批处理根据%errorlevel%返回值T/F判断输入的密码是否正确,正确处理下一步,不正确提示再次输入。
4、这样密码保存在c编译好的exe文件中,一般是看不到的,除非破解。

2017-8-26 21:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: