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: Roger Martins
Subject: Re: [shell-script] Troca de letras
Date: Fri, 6 Jan 2006 16:53:38 +0000 (GMT)

Muito obrigado Mrbits, e a todos os outros que  responderam. Mrbits o que vc me 
passou era exatamente o que eu queria.  Com base nisso eu fiz o script:
  
  #!/bin/bash
  clear
  while : ;
  do
  echo "1) Criptografar mensagem"
  echo "2) Descriptografar mensagem"
  echo "3) Sair"
  read -p "Digite sua escolha: " ESCOLHA
  case $ESCOLHA in
          1)
          read -p "Digite a mensagem que deseja criptografar: " MSG
          echo -e "Criptografando....\n"
          echo "####"
          echo $MSG | tr 'a-zA-Z' 'n-za-mN-ZA-M'
          echo -e "####\n"
          ;;
          2)
          read -p "Digite a mensagem que deseja descriptografar: " MSG2
          echo -e "Descriptografando....\n"
          echo "####"
          echo $MSG2 | tr 'a-zA-Z' 'n-za-mN-ZA-M'
          echo -e "####\n"
          ;;
          3)
          exit
          ;;
  esac
  done
  
  Se o codigo estiver "feio" não reparem estou aprendendo hehehe. Eu  entendi o 
que foi feito aqui 'a-zA-Z' 'n-za-mN-ZA-M' mais ainda não  está totalmente 
claro em minha mente. Por isso Gostaria de que vc  explicasse para mim um pouco 
melhor e ser der tambem como ficaria  apenas um salto a = b b = c. Muito 
obrigado Valeu a todos.

MrBiTs <address@hidden> escreveu:          -----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-----
            

    ---------------------------------------------------------------------
  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: address@hidden
  ---------------------------------------------------------------------
  Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
  ---------------------------------------------------------------------
    

                              
                        Yahoo! Grupos, um serviço oferecido por:                
          PUBLICIDADE
    var lrec_target="_blank";var lrec_URL=new Array();  
lrec_URL[1]="http://br.rd.yahoo.com/SIG=12fosgf17/M=387526.7663462.8550203.1588051/D=brclubs/S=2137111254:HM/Y=BR/EXP=1136296590/A=3191179/R=0/id=flashurl/SIG=16dh90311/*http://landingstrip.dell.com/landingstrip/ls.asp?CID=9910&LID=283270&DGC=BA&DGStor=DHS&DGSite=Yahoo&Conum=BR&DURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3Dbr%26l%3Dpt%26s%3Ddhs";;
  var 
lrec_flashfile="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/1221_lrec_dell_t_dic8_dhs_producto.swf?clickTAG=javascript:LRECopenWindow(1)";
  var 
lrec_altURL="http://br.rd.yahoo.com/SIG=12fosgf17/M=387526.7663462.8550203.1588051/D=brclubs/S=2137111254:HM/Y=BR/EXP=1136296590/A=3191179/R=1/id=altimg/SIG=16dh90311/*http://landingstrip.dell.com/landingstrip/ls.asp?CID=9910&LID=283270&DGC=BA&DGStor=DHS&DGSite=Yahoo&Conum=BR&DURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3Dbr%26l%3Dpt%26s%3Ddhs";;
  var
 
lrec_altimg="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/1221_lrec_dell_t_dic8_dhs_producto.gif";;
  var lrec_width=300;var lrec_height=250;                                       
         
    
---------------------------------
  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:
address@hidden
   
   O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!.  
  
          


                
---------------------------------
 Yahoo! doce lar. Faça do Yahoo! sua homepage.

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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