Brincando com Hexadecimais

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

[ Hits: 13.255 ]

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

Bhaskara

Contagem regressiva ao sair

Django - Gerando o diretório do projeto

U$ para R$ e vice-versa

FÓRMULAS DE FÍSICA


  

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