MD5, Message-Digest algorithm 5, é um algoritmo de hash de 128 bits, unidirecional. Ele é muito útil como método de verificação de integridade de arquivos, armazenamento de senhas, criptografia ou para hashing em geral. Eu utilizo ele com muita frequência.

Em Python você calcula o hash de uma string em duas linhas:

import md5
print md5.new('silveira').hexdigest()

O md5.new() retorna um objeto que cria md5. Ele é bem flexível e pode ser utilizado várias vezes. O hexdigest é a representação hexadecimal do md5, aquela que pode ser impressa.

Esse código imprime isso:

3df2175295d900d6f0c2f3a521d957cd

Que é o md5 de silveira.