![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-09 11:22 |
共 47,812 主题排行 / 349,914 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何把密码加密存放,供批处理运行时调用? |
| 可打印版本 3,858 / 11 |
| 第1楼 uiopuiop | 发表于 2011-01-10 23:57 |
| 中级用户 发帖 211 积分 400 | |
|
如何把密码加密存放,供批处理运行时调用? 如何把密码加密存放,供批处理运行时调用?
[ Last edited by uiopuiop on 2011-1-10 at 23:58 ] |
|
| 第2楼 Hanyeguxing | 发表于 2011-01-11 00:35 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
密码的规则是什么?纯数字?数字加字母?还是常用字符?
加密的算法要求是什么? 存放的位置指定在哪?注册表还是文件? |
|
| 第3楼 Hanyeguxing | 发表于 2011-01-11 01:13 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
写了个简单的,密码要求为纯数字,保存在注册表:
[ Last edited by Hanyeguxing on 2011-1-11 at 01:54 ] |
|
| 第4楼 uiopuiop | 发表于 2011-01-11 19:27 |
| 中级用户 发帖 211 积分 400 | |
Originally posted by Hanyeguxing at 2011-1-11 12:35 AM: re: 密码的规则是什么?- 字母数字的混合(当然如果能带特殊符号更好) re: 加密的算法要求是什么? - 一般不容易破解即可,当然如果能用高级点的加密更好(MD5, dsa, rsa, etc.) re; 存放的位置指定在哪?最好能存放在一个文件里。 批处理可以调用第三方命令行工具。 PS. 是否能解释一下三楼代码的加密原理,谢谢! |
|
| 第5楼 slore | 发表于 2011-01-12 13:43 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
加再多,把if取消……
写的bat的代码,大部分核心操作都要依赖与密码 然后把密码加密MD5在bat里面比较下。如果对了执行。。。 这样看到你的bat源码,如果不比较,随便的password是不行的。 set password= if md5(password)=fde3494783dfd854 操作的核心部分都要和%passord%有关,中间的某个字符啊,某个 字符再运算变形啊。。。 这个没有正确的password跳过判断下来执行也是不能工作的才可以。 |
|
| 第6楼 uiopuiop | 发表于 2011-01-12 23:37 |
| 中级用户 发帖 211 积分 400 | |
Originally posted by slore at 2011-1-12 01:43 PM: 一般自动化脚本都是自动运行的,不会有人工干预,所以不能人工输入密码。 你MD5加密后,如何解密呢?密码在批处理运行时又必须是明文的,运行时候肯定要解密后在穿给相应的命令的,MD5没法认啊。 |
|
| 第7楼 then0011 | 发表于 2011-01-12 23:53 |
| 新手上路 发帖 9 积分 5 | |
|
厉害 我菜鸟 所以 只有看的分
|
|
| 第8楼 slore | 发表于 2011-01-13 09:54 |
| 铂金会员 发帖 2,478 积分 5,212 | |
Originally posted by uiopuiop at 2011-1-12 23:37: 你要无人干预就不要设置密码。。。。 我这里明文是用set /p pw= 让人输入的,然后md5计算下,和md5相比较。。。能过下面的操作和你输入的密码相关系,所以错误的密码是不能用的。 如果你单纯的密码设置了,而只是自动读取?自动判断。。。 把判断注掉了,你有什么加密可言? |
|
| 第9楼 acaigg | 发表于 2011-01-13 21:34 |
| 初级用户 发帖 92 积分 115 | |
|
我是很菜的,代码不太懂。但看得出slore的思维比较严谨。
|
|
| 第10楼 uiopuiop | 发表于 2011-01-16 19:50 |
| 中级用户 发帖 211 积分 400 | |
|
大家有么有什么新的思路?
|
|
| 第11楼 cyn01livecn | 发表于 2011-01-18 12:18 |
| 初级用户 发帖 23 积分 28 | |
|
简单,替换文字就行了,例如把“1”替换成“X”让人看不懂,调用时再把他换回来。
|
|
| 第12楼 goltaxhs | 发表于 2017-08-26 21:48 |
| 新手上路 发帖 8 积分 8 | |
|
1、用C编个最简单的int main(int argc, char * argv[]) 程序, char * argv[]就是第一个参数,程序会对第一个参数进行检查(就是密码),如果成功返回T,失败返回F。
2、在批处理中做一个SE /P PWD=要求输入密码,再将输入值传给第一步的程序,进行参数即密码,进行判断。 3、批处理根据%errorlevel%返回值T/F判断输入的密码是否正确,正确处理下一步,不正确提示再次输入。 4、这样密码保存在c编译好的exe文件中,一般是看不到的,除非破解。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |