Advertisement
Guest User

descriptografar

a guest
Mar 31st, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.16 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #Aula x Exercício Técnicas de Invasão = Curso Shell Script
  4. ##Aluno:Diogo
  5.  
  6. # -gt maior que
  7. # -lt menor que
  8.  
  9. #Para iniciar digite em seu terminal: ./nome-do-arquivo.sh "Nome a ser criptografado"
  10. ## Notem que inclui letras maiúsculas (posteriormente incluirei números, caracteres e letras acentuadas)
  11.  
  12. n() { echo "a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" | cut -d"$1" -f1 | tr " " "\n" | wc -l ; }
  13.  
  14. la() { echo "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" | cut -d" " -f$((($RANDOM%25)+1)) ; }
  15.  
  16. if [ "$1" == "" ]; then exit; fi
  17. ent=$1
  18.  
  19. #echo "String original: $ent"
  20. echo
  21. p1="$(echo $ent | tr "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" "zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA" )"
  22.  
  23. p2="$(echo $p1 | tr " " ":")"
  24. p3="$(echo $p2 | tr "\n" "@")"
  25.  
  26. p4="$(for a in $(seq $(echo -n "$p3" | wc -c)); do
  27.     carac="$(echo "$p3" | cut -b $a)"
  28.  
  29.     il="$(echo $carac | grep "[a-zA-Z]")"
  30.     if [ "$il" != "" ]; then
  31.         n $carac
  32.     else
  33.         echo "$carac"
  34.     fi
  35. done | tr "\n" " ")"
  36.  
  37.  
  38.  
  39. p5="$(for a in $p4; do
  40.     inum="$(echo $a | grep "[1-9]")"
  41.     if [ "$inum" != "" ]; then
  42.         let count++
  43.         echo -n "$(($a*$count))$(la)"
  44.     else
  45.         echo -n "$a$(la)"
  46.     fi
  47. done)"
  48.  
  49.  
  50.  
  51. echo "string criptografada: $p5"
  52.  
  53. #REVERTER
  54. ##Aqui começa os passaos inversos para revertermos a senha
  55. ### Essa parte abaixo poderia ser salvo num novo arquivo sh, fazendo com que o argumento $1 fosse a senha criptografada.
  56.  
  57. r5="$(for a in "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"; do
  58.     vsl="$(echo $p5 | tr "$a" " " | cut -d"@" -f1)" # | cut -d"@" -f1
  59.     echo "$vsl"
  60. done)"
  61. r4="$(for nn in $r5; do
  62.     if [ "$nn" == ":" ]; then
  63.         echo "$nn"
  64.     else
  65.         let count++
  66.         echo "$(($nn/$count))"
  67.     fi
  68. done)"
  69. r3="$(for vv in $r4; do
  70.         if [ "$vv" == ":" ]; then
  71.             echo "$vv"
  72.         else
  73.             letras=("nada" "z" "y" "x" "w" "v" "u" "t" "s" "r" "q" "p" "o" "n" "m" "l" "k" "j" "i" "h" "g" "f" "e" "d" "c" "b" "a" "Z" "Y" "X" "W" "V" "U" "T" "S" "R" "Q" "P" "O" "N" "M" "L" "K" "J" "I" "H" "G" "F" "E" "D" "C" "B" "A");
  74.             echo "${letras[$vv]}";
  75.         fi
  76. done)"
  77. r2="$(echo $r3 | tr -d " " | tr ":" " ")"
  78. echo "$r2"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement