[NOTE]彩虹表开发笔记

需求

  • 7位数字+小写字母输入
  • MD5算法,32位小写
  • 链长128,链数67108864

思路

  1. 随机生成一个 7位明文
  2. Chains
  3. Repeat

校验:

  1. 后生成的 H ( x ) H(x) 不等于之前的链的终点.如果不满足,重新生成起点
  2. 生成的起点不和之前任何一个重复.

开发细节

  • 20000链为一个单元,进行计时和写入.
  • 序列化存入(?)
  • 文件内格式:每行一条链
  • python是假多线程,所以考虑多进程(?) 多进程信息见https://blog.csdn.net/qq_40317897/article/details/89921083
  • psutil cpu_percent监测CPU占用(?),See https://blog.csdn.net/lh1136863240/article/details/82774378
  • 多线程能读文件的就只有这一个方案了:https://www.cnblogs.com/kaituorensheng/p/4445418.html 使用pool根本开不了文件
  • 好像只能用f=open不能用with open as f:?

Attention

readlines()方法在文件指针没有刷新的情况下只会读一次,应当把开文件操作放在循环内部.

发布了80 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/POTASSIUM711/article/details/101869503