shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Troca de letras


From: MrBiTs
Subject: Re: [shell-script] Troca de letras
Date: Tue, 03 Jan 2006 09:55:23 -0200
User-agent: Mozilla Thunderbird 1.0.7 (X11/20051013)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> Galera é o seguinte estou querendo fazer um script para trocas de letras
> , é  como se fosse um enigma por ex:
> 
> Digite aqui um nome: ROGER
> 
> Depois de digitado ele me voltasse assim:
> 
> Enigma: QNFDQ
> 
> E logo depois tivesse uma opção para quebrar o enigma, ou seja eu digito
> QNFDQ e ele me devolvia ROGER.
> 
> A troca das letras funciona da seguinte maneira, depois de digitado a
> frase para gerar o enigma ele troca cada letra digitada pela seguinte
> letra do alfabeto. Ex:
> 
> R = Q
> O = N
> 
> etc....
> 
> E para desfazer o enigma ele faz o processo inverso. Ou seja ele pega
> cada letra do enigma e troca pela letra anterior do alfabeto. Ex:
> 
> Q = R
> N = O
> 
> etc....
> 
> A parte de leitura de dados case etc, eu ja sei fazer gostaria de saber
> mesmo a sintaxe e a logica para a troca das letras. Muito obrigado a todos.
> 
> Ps. Inspiração tirada do livro Fortaleza Digital !


Interessante... Estamos falando de "criptografia simétrica". Exorto
vivamente você a ler um pequeno artigo:
http://www.mrbits.com.br/article.php?article=6

Acredito que você vá gostar.

A lógica é bem simples. Você pode usar um comando chamado "tr" para
fazer essa troca para você. Vamos tomar como exemplo um tipo de lógica
de rotacionamento de letras chamado ROT13. A idéia é que você rotacione
o alfabeto 13 letras para frente, ou seja, A = N, B = O e assim por
diante. Imagine que queremos "criptografar" ROGER utilizando ROT13:

$ echo ROGER | tr 'a-zA-Z' 'n-za-mN-ZA-M'
EBTRE

e para o inverso

$ echo EBTRE | tr 'a-zA-Z' 'n-za-mN-ZA-M'
ROGER

A partir daí, você pode gerar as expressões regulares que determinam o
seu fator de rotacionamento. No caso do ROT13, o fator é 13, já que
rotacionamos as letras 13 posições no alfabeto.

Acredito que, com isso, você faça o seu "embaralhamento" de letras. Como
exercício, ótimo. Como conceito de segurança, zero.

Um abraço
- --
GPG Public Key
http://keyserver.veridis.com:11371/export?id=-6037232142263389818

         \\|||//
         (.) (.)
- ----ooOO--( )--OOoo-----
      MrBiTs
http://www.mrbits.com.br
  address@hidden
- ------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDumYrrDdxWm3R8YYRAp/DAJ9gHC1UxdZ5ROIwTkxqyEnbLxmlowCfWbQS
vihpFDqwFbK3bhhb9JC/9O4=
=PGhM
-----END PGP SIGNATURE-----


reply via email to

[Prev in Thread] Current Thread [Next in Thread]