[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 15# plp626


1、动态的验证
2、验证密码你自己肯定知道

MD5无法同时满足这两个条件吧?

TOP

回复 16# find


    你是说的像论坛注册时,发到邮箱的那个像链接式的“动态”验证(过期作废),或者说这样的思想是否满足楼主要求?

TOP

回复 17# plp626


楼主滴要求:
想做一个动态的验证,即使告诉别人了,他下次还是进不去的

论坛的验证码满足这一点
但是不满足楼主自己需要随时知道这个密码的要求。

TOP

回复 18# find


    哦,那好办,永久密码和动态验证密码之间来个逻辑“或”

TOP

本帖最后由 plp626 于 2012-2-26 00:07 编辑
  1. 伪代码:
  2. if ( (加密函数1(%1)==永久式加密后明文) || (加密函数2(%1)<=动态式加密后明文) )
  3.         puts("密码正确!");
  4. else
  5.         puts("密码错误!");
复制代码

TOP

本帖最后由 ivor 于 2012-2-26 02:46 编辑

回复 20# plp626


    没必要再加上永久密码,既然我能告诉别人一次性密码,那我肯定随时知道准确密码的。就像find说的一次性密码,这才是有重点。折中来说不能太复杂也不能太简单。除了时间没有更好的办法了额,原理有点像手机密保或者将军令等等。这么说你们应该更明白了吧。
虽然我不知道将军令或者手机密保的算法。基数肯定是时间,不然做不到动态验在证。不需要准确方法,只是让大家说说想法而已。。。。

TOP

生成一个四位随机数
如:1234
拆分成123 4
即 把123每位+4
密码为567
就是123+444=567


假如是这样的随机数
如 6789
把678每位+9
8+9=17
7+9=16
6+9=15

密码为
0017
0160
1500
-------
1677

就是678+999
1

评分人数

    • ivor: 另一种方法技术 + 1

TOP

回复 22# jinzeyu


所谓随机数,就是连你自己都不知道它下一个值是什么,又如何去推算密码呢?

TOP

回复 23# find

可以显示 验证码什么的不显示你知道验证码是什么吗?

TOP

批处理有必要设置密码吗?

对不一点都不懂的人肯定是不需要

对于懂的人你再设密码别人一个特殊输入就能完暴你的密码

至于如何完暴?

大家从批处理中的密码验证上多想一想吧
1

评分人数

    • ivor: 不看源码,怎么爆破 - -!技术 + 1
***共同提高***

TOP

其实批处理是原码运行,设置什么密码都没有多大用处。 我曾经用过在你想要的机器上可以运行,复制在其他机器上不可运行。别人把 那段删除,一切都。。。。。。。

TOP

本人谈谈在批处理中设置密码的情况。
      在批处理程序上设置密码与批处理作为一个开源脚本的特点有冲突。对于我们而言,批处理没有太多的秘密,只要你右键打开批处理你就能把批处理的五脏六腑看个一清二楚,即使运行时需要密码,你都可以在编辑的情况下查到密码。因此,在批处理上设置密码有点“多此一举”。解决这个问题的办法就是,将批处理进第二次编码,转换为其他语言或模式。至于现在的批处理加密,在开头多加几个%基本上算是小儿科。对于运行程序使用if code==%input% echo ok判断密码是否正确更是让人汗颜,这样的话,只要你打开记事本查看代码,密码就躺在IF语句里。批处理脚本比起html语句来也并非那么复杂呢!
     考虑到现代密码的要求是,公开算法和加密方法,那么,批处理的算法是公开了,公钥和私钥却无法掌握。在批处理中运用数学来设置代码可能会比较实在一些,因为会看批处理的人还得会算数学题,特别是会找素数!就是让你看见了你也没办法,批处理加密要实现的就是这个目标。
     最后,还是很无奈的一个问题,就是即使你添加了一段可以加密的代码,不输入正确的密码你就无法继续运行bat,但只要你打开编辑,绕过这一段代码,那么,设密也就形同虚设了。
     所以,将bat转为exe等其他程序文件,利用外部加密才是最有效的办法。
     当然,在批处理内设置不了密码,但不妨碍用批处理给其他程序编码和解码,批处理能做的也就是这些了。
     至于动态密码,你动或者不动,批处理就在那里,你用记事本打开就看见密码了!~
1

评分人数

    • ivor: 算法是不分语言的,慢慢积累技术 + 1
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 25# batman


    简单用变量延迟就不怕特殊输入了,我觉得批处理的硬伤还是开源,随便改写一下就知道密码了(甚至不需要密码),不过话说回来,所有软件的密码验证到了汇编层也都是脆弱的...

TOP

回复 27# cjiabing


    如果密码存于某个变量 直接在输入前echo

TOP

本帖最后由 lllsoslll 于 2012-2-28 10:56 编辑

思考了下:
有效防止密码被破解的一个途径就是让程序中没有跳转,而且,程序的每一行代码与上一行代码都有依存关系,这种依存是和密码唯一相关的,这样要破解就相当于重写程序;而且,需要破解者完全掌握了你代码的整体框架和思路才行;

可想这样的防破解程序可读性会很差,自然也使得效率降低;这对bat这正开源脚本来说很不符。

不过如果是娱乐的话,看来这是一个很有意思的研究。。。
SOS --- >> lllsoslll@163.com

TOP

返回列表