반응형

파이썬 실전 2

파이썬 실전) 브루트 포스 프로그램 2. 멀티스레딩을 이용한 브루트 포스

이번 강의는 파이썬의 멀티스레딩을 이용하여 브루트 포스를 하는 방법에 대해서 알려드리려고 합니다. 1. 멀티스레딩 기본적으로 프로그램은 한 번에 하나의 명령을 수행합니다. 그 속도가 매우 빠르기 때문에 일반적인 상황에서는 문제가 되지 않습니다만, 브루트 포스처럼 엄청난 양의 연산을 해야 되는 경우에는 하나씩 처리하는데 시간이 많이 걸립니다. 그렇기에 나온 것이 바로 멀티스레딩입니다. 예를 들어 자동차를 만든다고 가정할 때, 한 명이 하나의 자동차를 만드는 것은 매우 힘든 일입니다. 하지만 100명이 붙어서 만든다면 그 힘은 현저히 줄어들 것입니다. 이러한 원리를 컴퓨터에서도 적용할 수 있습니다. 먼저 멀티스레딩은 두 가지로 나누어집니다. 하나는 일시적 멀티스레딩이며, 나머지는 동시 멀티스레딩입니다. 일시..

파이썬 실전) 브루트 포스 프로그램 1. for문을 이용한 브루트 포스

이번 강의는 브루트 포스의 방법으로써, 파이썬에서 기본 지원하는 for문을 이용하여 브루트 포스를 해보려고 합니다. 1. 기초 파이썬의 for문에서 브루트 포스를 하려면 모든 경우의 수를 만들 수 있어야 합니다. 이러한 경우의 수를 만들어 주는 모듈이 바로 intertools 모듈의 product라는 함수입니다. from itertools import product itertools 모듈에는 여러 조합을 만드는 방법이 있지만, 브루트 포스 프로그램에서는 product를 사용해서 만들 예정입니다. product 모듈의 사용 방법은 다음과 같습니다. list = product(A, repeat=B) A는 조합을 만들 내용을 입력하며, B는 자릿수를 입력합니다. product는 기본적으로 여러 리스트들의 조합..

반응형