1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

É possivel codificar um ficheiro de bloco de notas ou wordpad?

Discussão em 'Programação' iniciada por pedrosimoes, 11 de Março de 2008. (Respostas: 17; Visualizações: 2081)

  1. pedrosimoes

    pedrosimoes 1st Folding then Sex

    Tipo, o eu queria exactamente e gardar senhas de varios registos q eu tenho num ficheiro do bloco de notas ou wordpad mas codificado, em q só eu saberia a descodificação! :D
     
  2. IcePicK

    IcePicK Power Member

  3. Mavors

    Mavors Power Member

    Qual é que seria o proposito da coisa?

    Podes escrever para um ficheiro uma pass encriptada...
    Também podes escrever para uma base de dados.
    Em java é relativamente fácil, mas ias escrever em que linguagem?
    Ia ser Windows Application, Web Application?

    E mais importante para quê? :P
    Se for só para ninguem saber a tua pass podes apenas meter pass no ficheiro ou usar pgp key ou algo do género.
    Se for para treinar, bem podes faze-lo de "n" maneiras.
     
  4. pedrosimoes

    pedrosimoes 1st Folding then Sex

    Eu queria pôr isso em ASP, mas n faço a minima km!
     
  5. RuiBranco

    RuiBranco Folding Member

    http://clientes.netvisao.pt/whitehat/encriptador/ fui eu que fiz ve la se serve para o que tu queres. Alguma duvida ja sabes
     
  6. Mavors

    Mavors Power Member

    Para criares e escreveres um ficheiro em asp podes fazê-lo assim:
    <%
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Dim fso, f
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.OpenTextFile("c:\ograndeficheiro.txt", ForWriting, True)
    f.Write "A minha password na formatação que eu quiser"
    f.Close %>

    Vais buscar o texto a um input qq e o algoritmo para criares a tua "encriptação" podes ser tu
    a fazê-lo ou então arranjas um metodo qq que faça isso.
     
  7. pedrosimoes

    pedrosimoes 1st Folding then Sex

    tou a zero!
    Dscla, mas explica-t melhor! :s
     
  8. The_True_Eue

    The_True_Eue Power Member

    Um dos algoritmos de encriptação mais simples que conheço é o seguinte: simplesmente aplicar uma função a cada caractere, como por exemplo, somar uma certa quantidade. Acho que toda a gente conhece isto, e não é lá grande coisa...
    Mas em vez de usares (somar x), podes usar algo menos perceptível para humanos (para alguns pelo menos), como um XOR bit-a-bit. Em C é o operador ^. Em VB, se bem me lembro, existe mesmo o operador Xor. Se alguém sabe como é em ASP...
    Não vou explicar como funciona, porque até nem interessa. O que interessa é que para obter o original bastar aplicar o XOR com o mesmo valor (chave). Se quiseres uma chave maior que um caractere podes aplicá-la sequencialmente, isto é, no primeiro caractere do input, XOR com o primeiro da chave, no segundo do input, o segundo da chave, ... Quando a chave acabar recomeças. Para quem não percebe nada de programação (pelo menos binário) ou criptografia, serve muito bem e é bastante difícil de quebrar.
    Se o que queres é algo mais seguro, deves utilizar um dos algoritmos criptográficos a sério, como o MD5 ou o SHA1.
     
  9. Armadillo

    Armadillo Folding Member

    so uma coisa: nao seria mais simples zipares o ficheiro com password?
     
  10. n0nam3

    n0nam3 Power Member

    Se bem que a nivel de segurança com um pouco de bruteforce talvez se chegue facilmente a password do ficheiro zipado...

    A ideia do The_True_Eue é bastante interessante. Um dia destes vou aplicar isso em C.
     
  11. Mavors

    Mavors Power Member

    O sucesso do bruteforce depende sempre do nível de complexidade da password.
    Com uma password complexa não vais lá num tempo útil simpático. :)
     
  12. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    MD5 e SHA1? Ele quer recuperar os dados ;) logo, hashá-los está fora de questão.

    @ tópico, existem vários algoritmos por aí. Pessoalmente, gosto do RC4 (ou ARC4, como quiserem), que é rápido e eficaz, e é o meu preferido, do Blowfish e do AES/Rijndael. Mas isto é, no fundo, desnecessário, porque ninguém estaria interessado em descodificar nada do que eu codifico :D

    Se a única coisa que queres fazer é com que um utilizador comum não consiga compreender o conteúdo desse ficheiro de texto, então até a famosa cifra de César funciona, ou uma variante da mesma.
    A cifra de César simples é o meio mais simples de todos - pegas num caracter e transforma-lo no seguinte (A -> B; G -> H; Z -> A). Uma modificação é subtrair em vez de somar, e em vez de ser 1 ser outro número, ou seja, para -2, A -> Y; G -> E; L -> J). Assim, "Techzone" com César:
    +1: Ufdiapof
    -1: Sdbgynmd
    +3: Whfkcrqh
    -3: Qbzewlkb
    E assim por diante.

    Outra modificação é esse número ser correspondente à posição da letra na string. Ou seja, em vez de somar/subtrair 1 ou 3, soma 1 no primeiro, subtrai 2 no segundo, soma 3 no terceiro, e assim por diante.
    Aplicado a um computador, e tomando proveito da tabela ASCII, podem sair coisas "engraçadas":
    Techzone com César, mas sem estar limitado a A-Z:
    +15: ctrw‰~}t
    -15: EVTYk`_V
    +90: ®¿½ÂÔÉÈ¿
    -90: ù   (não dá para perceber :x )

    Para codificar fazes uma operação numérica qualquer, e para descodificar fazes a inversa (+1 -2 +3 -4 +5 -6 ==> -1 +2 -3 +4 -5 +6; +4 => -4; etc)

    Isto tudo, algoritmos bastante simples de se fazerem, e apesar de não serem praticamente nada seguros, são suficientes para que quem olhe não perceba nada à primeira vista.
     
    Última edição: 12 de Março de 2008
  13. slack_guy

    slack_guy Power Member

    Em alternativa, podes usar Vim + GnuPG. Detalhes em http://www.vim.org/tips/tip.php?tip_id=651
    Vantagem: usas um editor de texto a sério e usas um sistema de cifra e de chaves do melhor que há actualmente.
    Desvantagem: vais perder ganhar tempo a aprender muita coisa que nem te passa pela cabeça ;-)
     
  14. IcePicK

    IcePicK Power Member

    Se bem percebi o que querias dizer, isso é um exemplo de cifra de blocos mais propriamente o modo Electronic codebook (ECB). Que permite a criação de um "livro de códigos" e quanto maior o texto original, mais fácil fica de decifrar. Depois o tamanho do texto em claro tem que ter sempre multiplo do tamanho da chave.

    Claro que para cifrar deve utilizar MD5 ou SHA! É isso e batatas! :-D Esses algoritmos que referiste são algoritmos de síntese criptográfica. Logo é unidireccional.

    Garanto a 110% que partindo do de um texto "cifrado" com esses algoritmos nunca se poderá obter o texto original! :007:
     
  15. Mavors

    Mavors Power Member

    Bem, neste caso estamos a falar de passwords... não de cifrar textos enormes, onde a capacidade de um descodificador se torna maior por causa de determinados padrões de escrita.

    Para passwords no âmbito que ele quer, acho que um simples array de equivalências é suficiente para ser praticamente impossível descodificar. Algo à semelhança do que o angel of wisdom disse da velhinha cifra de César.
     
  16. IcePicK

    IcePicK Power Member


    Sim, é verdade. Nestas coisas a solução a utilizar depende sempre da segurança necessária.

    No entanto acho se objectivo foi só cifrar e decifrar um ficheiro mais vale procurar por aí uma biblioteca simples que implemente um algoritmo conhecido e depois é API.

    Se o objectivo for cifrar um ficheiro para aprender como o fazer, sim, deve começar por uma cifra como a de cesar ou utilizar uma cifra de alfabeto como a Cifra de Vigenère, tendo em consideração que são demasiado básicas.
     
  17. Morto

    Morto Power Member

    Zip no ficheiro e password protect.
    é fraco ? possivelmente! mas há mais fracos :P
    é fiavel ? uniformidade/fiabilidade hum penso que é do melhor!
    e rapidez ? é so zipar!

    e tamos a falar de um ficheiro TXT que contem passwords... ele so quer proteger o ficheiro de ser aberto por terceiros não é propriamente a base de dados do fbi ou dos contribuintes devedores portugueses :P

    http://www.winzip.com/ecdconfig.htm#encrypt
     
  18. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Quando se substitui um caractere por outro correspondente (seja a tal array ou a cifra de César, que no fundo são a mesma coisa), o maior problema está na quantidade de texto: se digitalizarem um texto como a Bíblia ou o Harry Potter e o codificarem, podem descobrir o "cálculo" da cifra de César única e exclusivamente contando o número de ocorrências de cada caractere. No fundo, o espaço é o mais utilizado, logo, a repetição padronizada de um caractere pode indicar que este seja o espaço ou a letra A (mais geralmente, uma vogal).
    A vantagem da array é que não dá para calcular os caracteres. Descobrir o espaço não ajuda tanto quanto isso (isto, se o espaço for modificado).
    Depois, palavras curtas como "como", "de", "mas" ajudam a descodificar por dedução.

    Talvez seja mesmo melhor ires para o RC4 ou outro algoritmo mais complexo :P
    Googla, e encontras.
     

Partilhar esta Página