Brincando com Hexadecimais

Publicado por Levi Gomes (última atualização em 02/12/2011)

[ Hits: 13.288 ]

Homepage: http://levilinuxblog.blogspot.com.br/

Download Decode.py




Bem, o script é bem simples. Em teoria ele converte uma string para hexadecimal e vice-versa.

No código eu citei um exemplo, que é o seguinte, alguns sites que hospedam arquivos para download (esses que pedem para cadastrar o número de celular) colocam o link de download no código-fonte da página em hexadecimal para evitar que usuários não cadastrados obtenham o link onde se encontra o arquivo. Em muitos desses sites o link está escrito em hexadecimal.

Não quero com isso incentivar o download não autorizado, e só um exemplo para enfatizar que em alguns casos essa conversão é útil.

  



Esconder código-fonte

#!/usr/bin/env python
#-*- coding: utf-8 -*-

# Autor: Levi Gomes de Oliveira
# E-mail: levigomes1@hotmail.com

# Esse Scrit tem por objetivo transformar uma string "normal" em uma string em hexadecimal
# e vice-versa. Um exemplo alguns sites de download por exemplo, escrevem o link para download no código fonte no formato hexadecimal de forma
# que o usuário não consiga o link pela leitura direta do código.
# Não quero com isso incentivar o download não autorizado. Fica aí como sugestã de estudo.

def codificar(str_normal): # Função que converte str->hex
    str_hex = str_normal.encode('hex') # Conversão propriamente dita
    return(str_hex) # Nem precisava dessas duas variáveis, coloquei para ficar mais organizado 

def decodificar(str_hex): # Função que converte de hex->str
    str_normal = str_hex.decode('hex') # Conversão
    return(str_normal) # Novamente, nem precisava dessa variável

def principal(): # A função principal, a partir daqui chamamos as outras funções
  print " BRINCANDO COM HEXADECIMAIS \n "
  repetir=1 # Nem precisava criar uma variável para isso, poderia fazer while(1), mas ainda é mais feio do que usar while(repetir==1)
  while(repetir==1): # Criando um laço, nesse caso, só será interrompido quando opcao=3, pois declarei exit()
    opcao =  raw_input("  1) Converter de Hexadecimal para String \n  2) Converter de String para Hexadecimal \n  3) Sair \n  Opção.: ") # Menu e leitura da opção do usuário
    print "\n" # Questão estética, um espaçamento na tela
    if opcao ==  '1': # Caso opção seja hex->str
        str_hex = raw_input(" Insira uma string em hexadecimal que deseja converter \n\n ") # Lendo a string
        print " A string desejada é: \n\n ", decodificar(str_hex), "\n\n"
    elif opcao == '2': # Caso opção seja de str->hex
        str_normal = raw_input(" Insira a string que deseja codificar em hexadecimal \n\n") # Lendo a string
        print " A string desejada é: \n\n ", codificar(str_normal), "\n\n"
    elif opcao == '3': # Encerra o programa
        exit()
    elif (opcao!='1' and opcao!='2'): # Caso a opção seja diferente de 1 e 2 
        print ("\n Opção não cadastrada \n")

principal() # Chamada a função principal

# Nesse script usei a programação procedural.

Scripts recomendados

Estrutura de repetição for e while (Com tratamento de erros)

Calculadora interativa simples

Organizador de números simples

Calcular dias de vida

Números divisíveis


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts