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

[已解决] 如何利用系统日期字符串的CRC值对程序运行加密?

小弟不才,有困难实在是解决不了,具体情况如下:

构思:

利用系统当前日期(如20090921)这几个字符的CRC32值作为程序运行的密码,不知道如何实现。

我自己想的流程如下:

利用  DATE  生成当前日期字符
                     |
利用命令行下的CRC计算工具生成CRC值
                     |
把CRC值赋作为GOTO的目标
                     |
利用
SET
SET /P
要求用户输入CRC值,输入正确就跳转到GOTO处执行,不正确就退出。



小弟才疏学浅,还望各位大侠高手指点,先谢过了!

[ 本帖最后由 t720 于 2009-9-26 22:25 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

具体哪一步不会?还是所有的步骤都不会?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢管理员回复!实话实说,基本上大部分都不会。

特别是变量的调用上,只会写简单的。刚试了一下就发现问题了,我是用的XPSP3,DATE返回的是2009-9-21星期一,而别的系统上返回的格式都可能不一样,晕了~~


新手菜鸟,希望大家不要见笑。

[ 本帖最后由 t720 于 2009-9-21 15:36 编辑 ]

TOP

说白了就是想要一段通过日期的CRC值作为运行密码的代码,希望高手指教!先说声谢谢了!

TOP

有请各位高手出手相助,不甚感激!!!

TOP

你用的哪个CRC计算工具?请提供一个下载,我帮你写代码。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

太感谢管理大大了,我找了一个命令行下对文件进行验证的工具(直接对字符串进行计算的没找到),太感谢了!
下载地址:
http://www.rayfile.com/files/3ae ... -8fe7-0014221b798a/

TOP

回复 7楼 的帖子

对文件进行CRC校验的命令行工具我这里有几个,暂时没有找到适用于字符串的工具。

把日期信息输出到文件,再根据此文件的CRC做加密,这样能满足你的要求吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

绝对可以!只是在计算的时候最好不要把计算结果生成文件,不然被别人暂停查看就起不了加密作用了。
再次感谢!

TOP

  1. @echo off
  2. rem 假设系统日期格式为yyyy-mm-dd
  3. rem 使用第三方命令行工具crc32sum.exe来计算文件的CRC
  4. set date=2009-09-26
  5. >"%temp%\today.dat" echo/%date%
  6. for /f "tokens=1 delims= " %%a in ('crc32sum.exe "%temp%\today.dat"') do (
  7.   set "CRC=%%a"
  8. )
  9. set /p input=请输出密码:
  10. if "%input%" equ "%CRC%" (
  11.   goto :RightPassword
  12. ) else (
  13.   goto :WrongPassword
  14. )
  15. goto :eof
  16. :RightPassword
  17. echo Welcome to bbs.bathome.net!
  18. pause
  19. goto :eof
  20. :WrongPassword
  21. echo You are not authorised to use this application!
  22. pause
  23. goto :eof
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

多谢老大费心,实在是太感谢了!
有几处不解还请指点:
1、如果我要直接调用系统时间,能否直接去掉
set date=2009-09-26     
这一句?
2、因为系统版本及语言的不同,可能会有YYYY-MM-DD、MM-DD-YYYY等格式,是否有办法统一为一个格式?

[ 本帖最后由 t720 于 2009-9-26 17:08 编辑 ]

TOP

我觉得反正要用第三方..不如直接用这个第三方取日期+计算CRC,这样可以省很多力气...

TOP

  1. set d=%date:~0,10%
  2. if "%d:~2,1%"=="-" set d=%d:~-4%-%d:~0,-5%
  3. >"%temp%\today.dat" echo/%d%
复制代码

TOP

回复 11楼 的帖子

1、可以。我写这句就是为了在自己的英文系统里面做测试,你可以 把它删掉。
2、参考:批处理标准化获取当前系统日期
http://bbs.bathome.net/thread-3328-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

先改注册表来取得同样的格式日期...这个恶心...

TOP

返回列表