Windows许可证密钥的所有排列组合
我需要为我的笔记本电脑申请Windows 8升级,为此我需要笔记本电脑底部的Windows 7许可证密钥。
由于微软决定用无限的智慧来创build许可证标签,而且我无法清楚地读取许可证密钥,这意味着我无法使用自动化stream程注册我的笔记本电脑。
通过把笔记本电脑放在一个angular度,我已经能够validation大部分的代码,但几个字母是模棱两可的(再次感谢微软在标签中使用容易误读的字符)。
我有以下(混淆)的许可证密钥,
MPP6R-09RXG-2H[8B]MT-[B8]K[HN]M9-V[6G]C8R
其中方括号中的字符不明确,因此它是8
或B
, B
或8
, H
或N
, 6
或G
制作16个组合。
使用itertools生成这个许可密钥的可能排列是否合适?还是有更好的方法?
我得到了正确的答案,感谢贡献者。 检查密钥是否有效的一种非常方便的方法是使用Windows 7产品密钥检查器 。
免责声明:是的,我知道这不是Python代码。 它只是popup到我的脑海,我只是不得不把它写下来。
最简单的方法是使用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
from itertools import product for perm in product('8B', 'B8', 'HN', '6G'): print 'MPP6R-09RXG-2H%sMT-%sK%sM9-V%sC8R' % perm
另一种生成组合的方法
>>> ['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'] >>>
如何在同一时间使用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']
http://www.magicaljellybean.com/keyfinder/
神奇果冻豆Keyfinder是一个免费的实用工具,用于从您的registry中检索用于安装Windows的产品密钥(cd key)。 它还有一个社区更新的configuration文件,可以检索许多其他应用程序的产品密钥。
只要在你想要的密钥安装上运行它。
如果您在Windows 7中直接使用Windows随时升级选项,则无需知道许可证密钥是什么。
只要操作系统被激活,Windows 8就会覆盖现有的操作系统,并将Windows 7中的所有内容放入“Windows-old”文件夹中,除非需要文件或其他内容,否则您可以删除该文件夹。
Windows升级过程会查找已激活的Windows操作系统,即使Windows XP在安装升级之前已激活,也会执行此操作。
通过随时升级购买时,您将通过电子邮件发送Windows 8许可证密钥。 如果您从商店购买升级,您只需获取许可密钥和下载URL,或者只需将密钥插入Windows随时升级,即可下载并安装。