Psyco

Niedawno wskrzeszone Psyco2 działa i to dość dobrze, choć tylko na 32 bitowych systemach. Mimo to efekty tego "modułu" są dość imponujące.

By zainstalować moduł należy pobrać kod źródłowy z SVN:

svn co http://codespeak.net/svn/psyco/v2/dist psyco2
I następnie zbudować i zainstalować moduł:
python setup.py build
python setup.py install
A żeby go użyć wystarczy na początku skryptu dodać:
import psyco
psyco.full()

Testy

Poniżej prosty skrypt służący do brutalnego ataku na hasz md5:
import md5
import sys

haslo = 'kogut'
hasz_hasla = md5.new(haslo).hexdigest()


def make_word(m, base_string=False):
	znaki = 'qwertyuiopasdfghjklzxcvbnm'
	for i in znaki:
		if base_string:
			string = base_string + i
		else:
			string = i
		
		if md5.new(string).hexdigest() == m:
			print 'Podane Haslo to: ' + string
			sys.exit()
		elif len(string) < 5:
			make_word(m=m, base_string=string)

make_word(hasz_hasla)
Testy przeprowadziłem dla Pythona 2.6 dla architektur amd64 (Gentoo) i i686 (Archlinux). Wyniki przedstawia poniższy wykres. i686 złamało hasz w około 20 sekund, amd64 w około 14 sekund, ale po dodaniu psyco2 dla i686 dało najlepszy wynik około 12 sekund.
psyco1
RkBlog

Podstawy Pythona, 22 July 2009

Comment article
Comment article RkBlog main page Search RSS Contact