Windows许可证密钥的所有排列

Ker*_*ge0 97 python python-itertools

我需要为我的笔记本电脑申请Windows 8升级,我需要笔记本电脑底部的Windows 7许可证密钥.

因为微软凭借他们无限的智慧决定创建磨损的许可证标签,并且我无法清楚地阅读我的许可证密钥,这意味着我无法使用自动化流程注册我的笔记本电脑以获得Windows升级.

通过将笔记本电脑与灯光成一定角度,我已经能够验证大部分代码,但是几个字母都不明确(再次感谢Microsoft在标签中使用容易误读的字符).

我有以下(混淆)许可证密钥,

MPP6R-09RXG-2H[8B]MT-[B8]K[HN]M9-V[6G]C8R
Run Code Online (Sandbox Code Playgroud)

方括号中的字符是不明确的,所以它是8B,B8,HN,6G.

制作16种组合.

使用itertools生成此许可证密钥的可能排列是否合适?还是有更好的方法?

感谢贡献者,我得到了正确的密钥.检查密钥是否有效的一种非常方便的方法是使用Windows 7产品密钥检查程序.

bik*_*der 164

免责声明:是的,我知道这不是Python代码.它只是出现在我脑海里,我只是不得不把它写下来.

最简单的方法是使用shell扩展:

$ echo MPP6R-09RXG-2H{8,B}MT-{B,8}K{H,N}M9-V{6,G}C8R
MPP6R-09RXG-2H8MT-BKHM9-V6C8R
MPP6R-09RXG-2H8MT-BKHM9-VGC8R
MPP6R-09RXG-2H8MT-BKNM9-V6C8R
MPP6R-09RXG-2H8MT-BKNM9-VGC8R
MPP6R-09RXG-2H8MT-8KHM9-V6C8R
MPP6R-09RXG-2H8MT-8KHM9-VGC8R
MPP6R-09RXG-2H8MT-8KNM9-V6C8R
MPP6R-09RXG-2H8MT-8KNM9-VGC8R
MPP6R-09RXG-2HBMT-BKHM9-V6C8R
MPP6R-09RXG-2HBMT-BKHM9-VGC8R
MPP6R-09RXG-2HBMT-BKNM9-V6C8R
MPP6R-09RXG-2HBMT-BKNM9-VGC8R
MPP6R-09RXG-2HBMT-8KHM9-V6C8R
MPP6R-09RXG-2HBMT-8KHM9-VGC8R
MPP6R-09RXG-2HBMT-8KNM9-V6C8R
MPP6R-09RXG-2HBMT-8KNM9-VGC8R
Run Code Online (Sandbox Code Playgroud)

  • Windows可能没有它,但是如果你需要迭代你的Linux许可证密钥哦等等,这是我爱linux的另一个原因 (55认同)
  • 我知道这不是python代码.它突然出现在我脑海中,我喜欢它的想法.没有必要低估这个答案.:-( (8认同)
  • +1 ...和Windows(据我所知)没有这种"扩展"......但你总是可以使用Cygwin (2认同)

Yuv*_*dam 59

from itertools import product
for perm in product('8B', 'B8', 'HN', '6G'):
    print 'MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R' % perm
Run Code Online (Sandbox Code Playgroud)


Nic*_*kis 17

另一种生成组合的方法

>>> ['MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R' % (a, b, c, d)
...  for a in '8B' for b in 'B8' for c in 'HN' for d in '6G']
['MPP6R-09RXG-2H8MT-BKHM9-V6C8R',
 'MPP6R-09RXG-2H8MT-BKHM9-VGC8R',
 'MPP6R-09RXG-2H8MT-BKNM9-V6C8R',
 'MPP6R-09RXG-2H8MT-BKNM9-VGC8R',
 'MPP6R-09RXG-2H8MT-8KHM9-V6C8R',
 'MPP6R-09RXG-2H8MT-8KHM9-VGC8R',
 'MPP6R-09RXG-2H8MT-8KNM9-V6C8R',
 'MPP6R-09RXG-2H8MT-8KNM9-VGC8R',
 'MPP6R-09RXG-2HBMT-BKHM9-V6C8R',
 'MPP6R-09RXG-2HBMT-BKHM9-VGC8R',
 'MPP6R-09RXG-2HBMT-BKNM9-V6C8R',
 'MPP6R-09RXG-2HBMT-BKNM9-VGC8R',
 'MPP6R-09RXG-2HBMT-8KHM9-V6C8R',
 'MPP6R-09RXG-2HBMT-8KHM9-VGC8R',
 'MPP6R-09RXG-2HBMT-8KNM9-V6C8R',
 'MPP6R-09RXG-2HBMT-8KNM9-VGC8R']
>>> 
Run Code Online (Sandbox Code Playgroud)


bik*_*der 9

如何同时使用itertools和functools?

>>> from operator import mod
>>> from functools import partial
>>> from itertools import product
>>> map(partial(mod, 'MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R'), product('8B', 'B8', 'HN', '6G'))
['MPP6R-09RXG-2H8MT-BKHM9-V6C8R', 'MPP6R-09RXG-2H8MT-BKHM9-VGC8R', 'MPP6R-09RXG-2H8MT-BKNM9-V6C8R', 'MPP6R-09RXG-2H8MT-BKNM9-VGC8R', 'MPP6R-09RXG-2H8MT-8KHM9-V6C8R', 'MPP6R-09RXG-2H8MT-8KHM9-VGC8R', 'MPP6R-09RXG-2H8MT-8KNM9-V6C8R', 'MPP6R-09RXG-2H8MT-8KNM9-VGC8R', 'MPP6R-09RXG-2HBMT-BKHM9-V6C8R', 'MPP6R-09RXG-2HBMT-BKHM9-VGC8R', 'MPP6R-09RXG-2HBMT-BKNM9-V6C8R', 'MPP6R-09RXG-2HBMT-BKNM9-VGC8R', 'MPP6R-09RXG-2HBMT-8KHM9-V6C8R', 'MPP6R-09RXG-2HBMT-8KHM9-VGC8R', 'MPP6R-09RXG-2HBMT-8KNM9-V6C8R', 'MPP6R-09RXG-2HBMT-8KNM9-VGC8R']
Run Code Online (Sandbox Code Playgroud)