Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Extreme Multimidia
Por davi182
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Sandro Marcell em 11/07/2008    [ 3578 hits ]

Login: SMarcell, 580436 pontos

Homepage: http://my.opera.com/smarcell/blog/   


Descrição

Um simples shell script que cria uma pseudo-criptografação em arquivos. É
bem simples e mostra alguns conceitos do poderoso Sed =)

[ Download: cripta.sh ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#!/bin/zsh
#
# Cripta.sh - Criptografador tosco de arquivos
#
# Sandro Marcell P. Barbosa (Boa Vista - Roraima)
# E-mail: sandro_marcell@yahoo.com.br
#
# Ao descriptografar, as regras gramaticais irão pro saco :(

# Chaves usadas para 'criptografação'
CHAVE_A="zMAnyLBoxKCpwJDqvIEruHFstG"
CHAVE_N="9081726354"

# Realçando a saída do comando 'print':
Print () print '\e[1m'"\n$*\n" ; tput sgr0

# Testando os parâmetros passados:
while getopts 'ac:d:' PRM 2> /dev/null ; do
   case $PRM {
      
a) Print "Uso: $(basename $0) -a [-c arquivo] [-d arquivo]
   Onde:
   -a = Mostra está mensagem
   -c = Criptografa arquivo
   -d = Descriptografa arquivo" ;;

# ---------------------------------------------------------------- #
c) ARQ=$OPTARG

# O arquivo existe?
[[ ! -a $ARQ ]] && Print "-> Arquivo não encontrado!" && bye

# E se for um diretório?
[[ -d $ARQ ]] && Print "-> Diretórios não são válidos!" && bye
   
# O usuário pode acessá-lo?
[[ ! -w $ARQ ]] && Print "-> Sem permissão para acessar arquivo!" && bye
      
# 'Criptografando' o arquivo:
sed "{
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
y/ÃãÁáÀàÂâÉéÊêÍíÓóÕõÔôÚúÜüÇç/AAAAAAAAEEEEIIOOOOOOUUUUCC/
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/$CHAVE_A/
s/^$/\[~]/g
s/[* ]/\*|-/g
1!G;h;\$!d
/[0-9]/b Números
b Final
:Números
y/1234567890/$CHAVE_N/
:Final
}" < $ARQ > $ARQ.cpt \
&& Print "-> Arquivo criptografado." \
|| Print "-> Erro ao criptografar arquivo!" ;;

# ---------------------------------------------------------------- #
d) ARQ_CPT=$OPTARG

# O arquivo existe?
[[ ! -a $ARQ_CPT ]] && Print "-> Arquivo não encontrado!" && bye

# O usuário pode acessá-lo?
[[ ! -w $ARQ_CPT ]] && Print "-> Sem permissão para acessar arquivo!" && bye

# O arquivo está criptografado? (checando a extensão .cpt):
[ ${ARQ_CPT##*.} != cpt ] && Print "-> Arquivo não criptografado!" && bye

# 'Descriptografando' o arquivo:
sed "{
y/$CHAVE_A/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
s/\[~]/ /g
s/\*|-/ /g
1!G;h;\$!d
/[0-9]/b Números
b Final
:Números
y/$CHAVE_N/1234567890/
:Final
}" < $ARQ_CPT > $ARQ_CPT.dpt \
&& Print "-> Arquivo descriptografado." \
|| Print "-> Erro ao descriptografar arquivo!" ;;

*) Print "Ops!!! Faça \'$(basename $0) -a\' para obter ajuda."  ;;

}
done


Scripts recomendados
   Script Linux recomendado Converter Arquivos de Áudio
   Script Linux recomendado Teste de memória
   Script Linux recomendado app-k-upgrade
   Script Linux recomendado Huawei Claro - Configurar modem Huawei no Linux
   Script Linux recomendado desligando o PC

Comentários
[1] Comentário enviado por SMarcell em 11/07/2008 - 09:11h:

Este script fiz quando ainda estava me aprimorando em "programação" shell. Tá bem "tosquinho" ele!


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.