Skip to content

SHA1 em Python

Calcular o SHA1 de uma string em Python é feito quase da mesma forma do calculo do md5 que eu já mostrei aqui antes.

A partir da versão do Python 2.5 a maneira correta de se fazer é assim:

import hashlib
print hashlib.sha1('Silveira').hexdigest()

Isso vai imprimir isto:

25e58a0147633e39c2a2fcceff9a13a181e672b9

Para fazer o calculo do MD5, também se usa a hashlib:

import hashlib
print hashlib.md5('Silveira').hexdigest()

Que vai nos dar o md5 da string ‘Silveira’:

43eb9e4547c642db6cd19713b5c1dff2

O módulo hashlib possui os contrutores md5(), sha1(), sha224(), sha256(), sha384(), e sha512(). Dependendo da implementação da OpenSSL que você tem instalada você poderá ganhar alguns outros construtores.

Maiores informações: documentação da hashlib

Published inUncategorized

6 Comments

  1. […] 2º Vale indicar um outro blog do autor?Na minha última crise de abstinência blogueira, quando o EPTM ficou fora do ar, eu meio que por acaso comprei esse domínio só para deixar um currículo, depois decidi deixar um pequeno blog.É o Blog do Silveira, onde quase diariamente eu livro os leitores do EPTM de artigos sobre como fazer um programa em MPI ou como fazer um algoritmo SHA1 de criptografia em Python. […]

  2. Excelente post.
    Realmente muito útil.

    Sou amante de PHP por sua simplicidade, e vi que python tende a ser simples tambem.

    A cada dia que estudo mais linguagens diferentes mais perco o interesse pela linguagem que eu mais gostumava amar Java.

    Valeu!

  3. Mirna Beatriz Gama de Vasconcelo Mirna Beatriz Gama de Vasconcelo

    Infelizmente o meu código não funcionou.
    Dá o erro “Unicode-objects must be encoded before hashing”

    • Marco Marco

      import hashlib
      print hashlib.md5(b’Silveira’).hexdigest()
      adicione “b” antes da string

  4. arnaldo arnaldo

    Cara, me ajuda caso eu queira que ele faça a tradução de uma variável e não da uma string direto. Exemplo:

    teste = “teste123”

    print hashlib.md5(teste).hexdigest()
    Poderia ser assim?

Leave a Reply

Your email address will not be published. Required fields are marked *