-----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
  [EMAIL PROTECTED]
- ------------------------
-----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-----


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a