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

[数值计算] [已解决]能用批处理把字符串值转成二进制值吗?

问题更新:
在注册表里面新建一个值的时候不是有字符串值、二进制值、DWORD值、多字符串值和可扩充字符串值可供选择吗?我这里说的二进制值就是这个。我不知道注册表里的二进制值是怎么定义的。我是在安装一个软件的过程中要输入账号和密码,然后账号和密码由安装程序自动导入注册表,账号是以字符串值导入的,所以我直接用reg add的REG_SZ导入就可以了,但是密码是以二进制值导入的,密码是“7vucdfxn57”,对应导入注册表后的值是“56D6A2E9A8F098F23F6453ADCFC87775D9311CBC”。这个值是在安装软件后用reg query得到的,类型是REG_BINARY,即二进制值。因为我的账号密码要不定时更换的,而密码我又只知道字符串值形式的,就是像“7vucdfxn57”这样的。所以我想问有没有办法把“7vucdfxn57”REG_SZ类型的值转换成“56D6A2E9A8F098F23F6453ADCFC87775D9311CBC”REG_BINARY类型的值。这样我就可以用批处理读取账号密码列表来更换密码了。所以我不是要转成通常意义上的二进制值,因为那个二进制值的有效数字好像只有0和1吧。

[ 本帖最后由 zljzsmzzx 于 2009-7-20 09:04 编辑 ]
1

评分人数

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

这个。。。

LZ提供哦你的值不是十六进制的么。。。

要换的话BAT也可以,不过效率很低。。。

可以用VBS中的&H来转换。。。
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

vbs
  1. WSH.Echo Str2Hex("123456")
  2. Function Str2Hex(S)
  3. Dim i, sResult
  4. sResult = ""
  5. For i = 1 To Len(S)
  6. sResult = sResult & Hex(Asc(Mid(S, i, 1)))
  7. Next
  8. Str2Hex = sResult
  9. End Function
复制代码

TOP

  1. @echo off&color 1f&title 十六进制 转 二进制
  2. set mmm=56D6A2E9A8F098F23F6453ADCFC87775D9311CBC
  3. call :16x2 %mmm% ok
  4. echo.&echo  十六进制 %mmm%
  5. echo.&echo    二进制 %ok%
  6. echo.&pause&exit
  7. ::以4位一段,分别转换为二进制,不必考虑超大数问题
  8. :16x2 十六进制 转 二进制  @随风 @bbs.bathome.net (封装)
  9. @echo off&setlocal enabledelayedexpansion
  10. set str=0123456789abcdef&set ok=&set "num=%~1"
  11. for /l %%a in (0 1 15) do (set ".!str:~%%a,1!=%%a"
  12. call set "num=%%num:!str:~%%a,1!= !str:~%%a,1!%%")
  13. for %%i in (!num!) do (set /a x=0,n=!.%%i!
  14. for %%a in (8 4 2 1) do (set /a x+=%%a
  15. if !n! geq !x! (set ok=!ok!1) else (
  16. set ok=!ok!0&set /a x-=%%a)))
  17. endlocal&set %~2=%ok%&goto :EOF
复制代码
技术问题请到论坛发帖求助!

TOP

请楼主说清楚到底是把什么进制转化成什么进制,以免造成误会
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

问题已更新过了,现在应该比原来说得更清楚了。

TOP

没有办法了吗?大家帮帮忙啊。

TOP

这可不是简单的进制转换,是数据加密,等哪位牛人来把它破解吧!

TOP

是哦。我怎么就没想到这层呢,应该是软件自身经过特殊的计算方法得到的。看来批处理是没有办法解决了。还是上百度知道里看看有没有高手胡破解的。

TOP

返回列表