跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • pythonic 语法请教
未分類
30 9 月 2020

pythonic 语法请教

pythonic 语法请教

資深大佬 : faketemp 1

在爆破密码或者穷举的时候,经常遇到未知位数不定的情况,比如下面的案例
未知 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 或更高效的语句来优化或精简呢?

大佬有話說 (3)

  • 資深大佬 : JeffGe

    itertools.product

  • 資深大佬 : crella

    我写了 Ruby 的,不知道怎么转成 Python 的,仅供参考思路

    http://dpaste.org/14nJ

  • 資深大佬 : zxCoder

    dfs

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具