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

[20170718更新]散列值生成工具-HashValue

本帖最后由 老刘1号 于 2017-7-18 23:26 编辑

注意:此工具并不是文件或字符串的哈希值/散列获取工具,而是随机生成类似散列字符串或文件后得到的值的工具。
使用范畴:
1、生成强密码/密钥(楼主保证不会碰字典)
2、用作临时文件/文件夹的名称(避免重名)
3、用作输出大批量/精细化日志时文件名或文件夹名的后缀(避免重名)
经典应用:
Dir /B /AD %Windir%\WinSxS\
使用方法:
C:\>HashValue.exe /?
老刘制作——散列值生成工具
用法:
        HashValue       [Length]        [Time]
        Length          指定散列值的长度,默认为16
        Time            指定打印散列值的个数,默认为1


源代码(编译环境 .NET Framework 2.0或更高):

  1. Option Explicit
  2. Module HashValue
  3. Sub Main(ByVal cmdArgs() As String)
  4. Randomize
  5. Dim Conter1 As Long
  6. Dim Conter2 As Long
  7. Dim Length As Long
  8. Dim Time As Long
  9. If CmdArgs.Length > 0 Then
  10. If UCase(CmdArgs(0)) = "/?" Then
  11. Console.WriteLine("老刘制作——散列值生成工具")
  12. Console.WriteLine("用法:")
  13. Console.WriteLine(" HashValue [Length] [Time]")
  14. Console.WriteLine(" Length 指定散列值的长度,默认为16")
  15. Console.WriteLine(" Time 指定打印散列值的个数,默认为1")
  16. Else
  17. If Isnumeric(CmdArgs(0)) Then
  18. Length = Clng(CmdArgs(0))
  19. Else
  20. Length = 16
  21. End If
  22. If CmdArgs.Length > 1 Then
  23. If Isnumeric(CmdArgs(1)) Then
  24. Time = Clng(CmdArgs(1))
  25. Else
  26. Time = 1
  27. End If
  28. Else
  29. Time = 1
  30. End If
  31. For Conter1 = 1 To Time
  32. For Conter2 = 1 To Length
  33. WriteHashValue
  34. Next
  35. Console.WriteLine()
  36. Next
  37. End If
  38. Else
  39. For Conter1 = 1 to 16
  40. WriteHashValue
  41. Next
  42. Console.WriteLine()
  43. End If
  44. End Sub
  45. Sub WriteHashValue
  46. Const HashValueMap As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  47. Console.Write(Mid(HashValueMap,Fix(Rnd * 36)+1,1))
  48. End Sub
  49. End Module
复制代码

推荐编译辅助工具:http://www.bathome.net/thread-44409-1-1.html
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
1

评分人数

好帖,赞!

TOP

本帖最后由 老刘1号 于 2017-7-18 23:24 编辑

回复 2# a2002


    感谢支持
1

评分人数

TOP

返回列表