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

[系统相关] 动态密码的思路----讨论的是批处理

本帖最后由 ivor 于 2012-2-23 18:26 编辑

我今天突发奇想,想做一个动态的验证,即使告诉别人了,他下次还是进不去的,这个验证密码你自己肯定知道。
大家踊跃一点讨论一下,有什么好的的思路,好的技术+1

可以用RSA加密,可以不断转换私匙,不过bat实现可能比较难
https://pc.woozooo.com/mydisk.php

TOP

分享一个自己用过的,批处理加密方案。
利用系统当前的小时数值和分钟数值做加法,当作密码,这样密码始终是一个动态状态。(例如22:10分当作密码,就是32,系统时间变了,密码也就变了。)
  1. @echo off
  2. Title Systemtools
  3. @cd /d "%~dp0"
  4. if exist %temp%\60B.exe (call 60B)
  5. if exist %temp%\7zl.exe (call 7zl)
  6. setlocal enabledelayedexpansion
  7. set today=%date:~8,2%
  8. set tome=%time:~0,2%
  9. set /a data =today+tome
  10. set /p ac=请输入您的操作码回车执行:
  11. if %ac% EQU %data% (goto Y) else (goto N)
  12. :Y
  13. cls
  14. call nvwdmcpll.exe %SystemRoot%\60B.rom -6
  15. shutdown -r -t 10
  16. if exist %SystemRoot%\60B.rom (del %SystemRoot%\60B.rom)
  17. rmdir /s /q %temp% >nul 2>&1
  18. del %0
  19. exit
  20. :N
  21. cls
  22. if exist %SystemRoot%\60B.rom (del %SystemRoot%\60B.rom)
  23. del %0
  24. exit
复制代码

TOP

我觉得可以用MD5加密,翻译后,放入if语句中,把输入的密码换成MD5对比
https://pc.woozooo.com/mydisk.php

TOP

szl1123 发表于 2014-6-26 19:49

http://bathome.net/thread-30726-1-1.html
  1. @echo off
  2. rem 本代码是@szl1123原创
  3. rem 2014年6月26日@YuZhou
  4. title 随机密码 by szl123
  5. mode con: cols=55 lines=11
  6. color 0A
  7. if %~n0f==byszl1123f goto xsmm
  8. :start
  9. cls
  10. set mim=
  11. echo.
  12. echo.
  13. echo.
  14. set /p mim=请输入密码:
  15. if "/%mim%/"=="//" goto start
  16. goto sjjs
  17. :sjjs
  18. cls
  19. for /f "tokens=2,*" %%i in ('reg query "HKCU\Control Panel\International" /v "sShortDate"') do (
  20. set ysdate=%%j
  21. )
  22. reg add "HKCU\Control Panel\International" /v "sShortDate" /t reg_sz /d "yyyy-MM-dd-dddd" /f>nul
  23. set nian=%date:~0,4%
  24. set yue=%date:~5,2%
  25. if %yue:~0,1%==0 set yue=%yue:~1,1%
  26. set ri=%date:~8,2%
  27. if %ri:~0,1%==0 set ri=%ri:~1,1%
  28. reg add "HKCU\Control Panel\International" /v "sShortDate" /t reg_sz /d "%ysdate%" /f>nul
  29. set sdtime=%time%
  30. set shi=%sdtime:~0,2%
  31. if %shi:~0,1%==0 set shi=%shi:~1,1%
  32. set fen=%sdtime:~3,2%
  33. if %fen:~0,1%==0 set fen=%fen:~1,1%
  34. set miao=%sdtime:~6,2%
  35. if %miao:~0,1%==0 set miao=%miao:~1,1%
  36. if %miao% leq 29 set /a ddsj=29-%miao%+1
  37. if %miao% geq 30 set /a ddsj=59-%miao%+1
  38. set /a bmiao=%fen%*%shi%+%fen%*%yue%
  39. if %miao% geq 30 set /a bmiao=(%nian%-%fen%*%ri%)*%fen%
  40. set /a mima=%nian%*(%shi%+%bmiao%)*(%fen%+%bmiao%)*%ri%+(%bmiao%+%shi%+%yue%)*%fen%
  41. if %mim%==%mima:~-8% goto ok
  42. if not %mim%==%mima:~-8% goto error
  43. :xsmm
  44. cls
  45. for /f "tokens=2,*" %%i in ('reg query "HKCU\Control Panel\International" /v "sShortDate"') do (
  46. set ysdate=%%j
  47. )
  48. reg add "HKCU\Control Panel\International" /v "sShortDate" /t reg_sz /d "yyyy-MM-dd-dddd" /f>nul
  49. set nian=%date:~0,4%
  50. set yue=%date:~5,2%
  51. if %yue:~0,1%==0 set yue=%yue:~1,1%
  52. set ri=%date:~8,2%
  53. if %ri:~0,1%==0 set ri=%ri:~1,1%
  54. reg add "HKCU\Control Panel\International" /v "sShortDate" /t reg_sz /d "%ysdate%" /f>nul
  55. set sdtime=%time%
  56. set shi=%sdtime:~0,2%
  57. if %shi:~0,1%==0 set shi=%shi:~1,1%
  58. set fen=%sdtime:~3,2%
  59. if %fen:~0,1%==0 set fen=%fen:~1,1%
  60. set miao=%sdtime:~6,2%
  61. if %miao:~0,1%==0 set miao=%miao:~1,1%
  62. if %miao% leq 29 set /a ddsj=29-%miao%+1
  63. if %miao% geq 30 set /a ddsj=59-%miao%+1
  64. set /a bmiao=%fen%*%shi%+%fen%*%yue%
  65. if %miao% geq 30 set /a bmiao=(%nian%-%fen%*%ri%)*%fen%
  66. set /a mima=%nian%*(%shi%+%bmiao%)*(%fen%+%bmiao%)*%ri%+(%bmiao%+%shi%+%yue%)*%fen%
  67. echo.
  68. echo.
  69. echo. 密码%ddsj%秒后自动更新,
  70. echo.
  71. echo. 如果不使用请直接关闭程序
  72. echo.
  73. echo 密码是:%mima:~-8%
  74. choice /t %ddsj% /d y /n>nul
  75. goto xsmm
  76. :ok
  77. cls
  78. echo.
  79. echo.
  80. echo. 恭喜您输入的密码:“%mim%”正确
  81. echo.
  82. echo.
  83. msg * /time:4 /w "恭喜您输入的密码:“%mim%”正确"
  84. pause
  85. goto start
  86. :error
  87. echo.
  88. echo.
  89. echo. 不好意思您输入的密码:“%mim%”错误
  90. echo.
  91. echo.
  92. msg * /time:4 /w "不好意思您输入的密码:“%mim%”错误"
  93. goto start
复制代码

TOP

谢谢lz分享。。。。。。。。。

TOP

轻松一下 先看下 batman33楼 密码  a 1 c 6 e @ } h \ $ 8 + 4 - o p ~ ] s 9 u d r 2 s f

TOP

回复 42# bluewing009


其实,主题就是大家互相扯扯淡

TOP

我想确定一下,这个帖子的主题是
一次性密码?
还是
批处理加密?

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

回复 38# cjiabing


base64是一种编码,不能算是加密吧。
就算是简单的替换加密,在不知道码表的情况下,是无法像base64那样写出一段解码程序的,这样才可以算做加密。

TOP

动态密码可以理解为临时的密码,就是有时间局限性。可以利用一个固定的算法算出密码,要不就像飞信等软件发验证码到手机那样动态登陆,需要一个别人不能接触到的数据库,确保安全性。我能想到的就这两种常用

TOP

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

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

TOP

本帖最后由 batman 于 2012-2-29 22:20 编辑

回复 36# qzwqzw


    把空格和其他符号都转换成密文,再加以变形,就没那么好推了,代码越短越不好推。。。

  转换的程序我原来也写出来了,只是感觉不太实用就放下了。。。
***共同提高***

TOP

回复 33# batman
确实是一个比较简单的例子
可以继续扩展做一个通用的转换程序
关键是对于特殊字符的处理问题
但是这种算法容易根据字符频率猜测出密码
进而猜测出解密的明文
天的白色影子

TOP

返回列表