Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # !/usr/bin/env python3
- # -*- coding: utf-8 -*-
- import time
- from time import time
- import sys
- from sys import maxsize
- import itertools
- from itertools import chain
- from itertools import product
- CHAR_BANK = []
- # min letters
- CHAR_BANK += [chr(97 + x) for x in range(26)]
- # maj letters
- CHAR_BANK += [chr(65 + x) for x in range(26)]
- # numbers
- CHAR_BANK += [chr(48 + x) for x in range(10)]
- # chars
- CHAR_BANK += [chr(33 + x) for x in range(13)]
- CHAR_BANK += [chr(58 + x) for x in range(6) ]
- CHAR_BANK += [chr(91 + x) for x in range(5) ]
- CHAR_BANK += [chr(123+ x) for x in range(3) ]
- TO_BREAK = 'toto'
- def brute_force() :
- """
- """
- return (''.join(CHAR_BANK)
- for CHAR_BANK in chain.from_iterable(product(CHAR_BANK, repeat=i)
- for i in range(1, maxsize)))
- def main() :
- """
- """
- tries = 0
- beg = time()
- for generated in brute_force():
- tries += 1
- if tries % 1000 == 0 :
- print ('{} tries reached'.format(tries))
- if generated == TO_BREAK :
- break
- print ('Password "{}" found in {} tries and {} ms !'
- .format (
- generated,
- tries,
- time() - beg
- ))
- if __name__ == '__main__':
- main ()
Add Comment
Please, Sign In to add comment