더북(TheBook)
ChunkRange = T.Tuple[int, int]

def get_chunks(num_ranges: int,

               length: int) -> T.Iterator[ChunkRange]:
    max_number = int(math.pow(10, length) - 1)
    chunk_starts = [int(max_number / num_ranges * i)
                    for i in range(num_ranges)]
    chunk_ends = [start_point – 1
                  for start_point in
                  chunk_starts[1:]] + [max_number]
    return zip(chunk_starts, chunk_ends)

 

def crack_password_parallel(crypto_hash: str, length: int) -> None:

    num_cores = cpu_count()
    chunks = get_chunks(num_cores, length)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.