pythonic 语法请教

faketemp:在爆破密码或者穷举的时候,经常遇到未知位数不定的情况,比如下面的案例
未知 5 位且均为字母或数字,要求穷举出明文和 md5,可用脚本如下

import hashlib

dic = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
for i in dic:
    for j in dic:
        for k in dic:
            for m in dic:
                for n in dic:
                    plaintext = "flag{"+i+j+k+m+n+"}"
                    md5 = hashlib.md5(plaintext.encode(encoding='UTF-8')).hexdigest()
                    if md5.startswith("5c686e3746"):
                        print("Success! Text:{} MD5:{}".format(plaintext,md5))
                        exit(0)

问题:
对于穷举 5 位就写 5 次 for 循环,未知 15 位就写 15 个 for 循环(先不考虑爆破成功的可能性)??
而且跑出结果要十来分钟,是否有更 pythonic 或更高效的语句来优化或精简呢?

JeffGe:itertools.product

简洁优雅 pythonic 的代码风格和更容易阅读的代码风格你更倾向哪一种?

loliordie:这个起因非常神奇, 是我跟另一位 dalao 刷 LC 一道 EASY 题时产生的讨论. 题目 LC. 234 的 O(1)空间复杂度解法, 由于是三刷我们的思路完全一致, 都是利用回文对称性寻找中间点的同时将前半部分指向关系翻转后进行比较, 但代码风格的不同却造成了别人阅读代码的不同反应. 这是大佬的解答部分代码, 非常 pythoni…

vue seo 优化

hmf123:请问 vue 如何简单的做到 seo 优化,项目已经完成,怎么在减少工作量的情况下,SEO 优化?opengps:动态加载没办法 seo 的 buliugu:那你需要 ssr 了,参考 https://ssr.vuejs.org/zh danhahaha:另外给搜索引擎写一套简单的 html

画了几天时间,初步搞了个可视化页面交互搭建

custw:体验地址 源代码 Ttttnik:厉害 不过还需要优化

大家经历过哪些面试造火箭,工作拧螺丝的经历

bbman:如题~shpkng:面试各种渲染各种数学各种复杂判定各种性能优化,实际工作切图做 UI RyanGo:我竟然经历过面试拧螺丝 工作造火箭 agriphar:大厂都是面试造火箭,工作拧螺丝 小作坊倾向于面试拧螺丝 工作造火箭

Chrome for Android 搜索栏历史记录

dsmbr06:有没有哪个老哥知道怎么关闭这个历史记录 Chrome://flags 已经设置 omnibox-zero-suggestions-on-ntp 为 disabled 了 995487:还有电脑 ThinkMan:同问