[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
如果用在BAT上,一次性是很容易实现的。
同一个密码怎么会在不同的人手里有区别呢?除非人品有问题了@!
那就设置两个密码,一个临时的,一个永久的。
批处理需要什么密码呀?几行搞定了:
  1. @echo off
  2. set /p v=:
  3. if %v%==123456 echo ok
  4. if %v%==539383 echo ok
  5. echo bad
  6. pause
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 9# wc726842270


    我前段时间搞了一个移位计算的办法。
    不过今天我想了想,用if判断密码是个愚蠢的办法,那不明摆着,你发短信给对方,问自己的电话号码是多少……
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

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

评分人数

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

TOP

回复 34# defanive


       我的想法类似于batman,不过用关键代码将全局代码封锁起来并不怎么容易实现,我想使用一种算法来加密:
       用SET语句、FOR语句等进行数学运算。这种算法应该可以实现,将所有计算过程变得随机些,然后获取一个关键的数字,缺乏这个数字代码就无法成功执行,算法之类的可以参考RSA等。就目前所见过的批处理代码而言,即使再困难的代码都可以阅读出来,但数学题,即使写给你看你不一定会做。如果我把关键的算式抽走,那么代码就无法成功执行了。比如,写一个关于计算圆周率的代码,如果其中某些地方出错,代码就无法成功执行了,但你知道圆周率的结果,却不知道我们私下设置的密码的结果。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 cjiabing 于 2012-3-7 19:16 编辑

告诉大家一个统计学的破解法,就是词频破解法,统计某个字的出现次数和位置就可以破解密码,针对此的解决办法就是“转换”、“移位”、“影射”等。理论的东西比较抽象,大家可以看看例子,比如:
        加密字符:abcdehidlwdpex
        解密字符:一只洁白的可爱的美丽的天鹅。
        破解时,你可以尝试使用“111”等这种简单的字符来尝试结果,还可以统计“的”字的出现次数,以及位置,从而推断出密码的加密方法。
加密的办法
       一个是对称式,也就是一个字符转换为对应的另一个字符,适合大量文本的加密,比如base64,对称式的密码容易使用统计学的办法破解。
       还有一种是非对称的,有些可能是拓展性的,有些可能是压缩性的,比如MD5,它简单的几个字符就能代表一个文件。这种办法破解比较困难。
       目前密码学是数学密码学,将密码转换为一些公认的数学难题,使得人们解密就像破解哥德巴赫猜想,成本很高,可能一辈子破解不了(与人的数学能力和计算机的运算能力有关)。
       当前的密码学协议要求公开算法,你怎么加密密码的过程是公开的(有一个公开的公钥),而解密的钥匙KEY(私钥)则是掌握在保密人的手中。把密码转换为RSA码,然后你要解开这个密码则先要找到RSA的密码,而要破解RSA解密的KEY就得破解哥德巴赫猜想,你能破解吗?不能就无法破解密码。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 40# find


    什么是加密?
    加密是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。加密技术包括两个元素:算法和密钥。算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解密的一种算法。在安全保密中,可通过适当的钥加密技术和管理机制来保证网络的信息通信安全。
    http://baike.baidu.com/view/40927.htm
    什么是base64?
    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
    http://baike.baidu.com/view/469071.htm

    其他的我不想说。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

返回列表