【问题标题】:PHP: Brute Force Dictionary GeneratorPHP:蛮力字典生成器
【发布时间】:2013-12-12 12:37:24
【问题描述】:

我正在寻找一个概念而不是代码。

我有这个字母数字字符串:abcdefghijklmnopqrstuvwxyz1234567890 我希望我的组合长度是,例如,16

换句话说,我要求主要概念具有所有可能的组合,如下所示:

a01g51bhk898qw233

最大长度 = 16

欢迎使用 php 中的示例,但由于我会在跨平台脚本中使用它,所以我也对“如何”的解释感兴趣

非常感谢

奥斯卡



更新问题

听起来像“我采用每个数组元素并创建限制为 16 个字符的最大组合”....

我尝试用 2 个元素字符串和最大长度 4 来制作这个简单的示例

MyStr = "A0"
MaxLen = 4

所以我的结果是

AAAA
A000
AA00
AAA0
A0A0
A0AA
A00A
AA0A
0000
0AAA
00AA
000A
0A0A
0A00
0AA0
00A0

另一个更简单的例子,有 4 个元素的字符串,最大长度为 2

MyStr = "A012"
MaxLen = 2

所以我的结果是

AA
A0
A1
A2
0A
00
01
02
1A
10
11
12
2A
20
21
22

现在更清楚了?


【问题讨论】:

  • 我在网上找到了一个脚本...但最终组合的长度等于字符串长度
  • 通过您的示例,您将获得 36^16 个字符串。大约是 7.96E+24。我希望你有时间来处理它们。 Ort 存放它们的空间。
  • 这种情况下可以使用递归。但是请注意,可能的 16 位字符串的数量应为 36^16。

标签: php algorithm brute-force


【解决方案1】:

你只需要看看stackoverflow ^_^,我为你做了你只需要限制长度

How to create possible combinations of strings from string in php?

【讨论】:

  • 没什么。我认为这不是正确的功能...我会修改我的问题
【解决方案2】:

这可能会有所帮助:

$string=substr(str_shuffle("abcdefghijklmnopqrstuvwxyz1234567890"),0,16);

解释: 函数str_shuffle() 以随机方式对string 进行洗牌。 函数substr() 返回随机string 的第一个16 字符。

【讨论】:

  • OP 想要所有组合。
  • 生成随机字符串的好方法,但不是所要求的 ^_^
  • 但在这种情况下,我可能会重复相同的结果?...因为它是随机的...对吗?
  • @OscarZarrus,这是真的。
  • @OscarZarrus - 您从互联网获得代码,您可以使用substr("string",0,16) 获取字符串的前 16 个字符。
猜你喜欢
  • 1970-01-01
  • 2014-02-16
  • 2019-10-22
  • 2012-07-04
  • 1970-01-01
  • 2011-10-25
  • 2018-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多