Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

pedrotuga

como posso encriptar uma string em sellscript?

Mensagens Recomendadas

pedrotuga    31
pedrotuga

Existe algum comando que me faça isso?

Não quero obter um digeste, quero mesmo encryptar uma string de forma a que possa ser recuperada usando uma chave.

O gnupg é completamente overkill para eta finalidade, estou à procura de uma função ou comando que seja a implementação de um algoritmo de encriptação (cifragem, whatever), que receba os dados, a chave e encripte isto.

Não precisa sequer de usar o negociamento de chaves publicas vs chaves privadas.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pmg    102
pmg

Muito provavelmente já tens o OpenSSL instalado :D

http://www.openssl.org/

http://openssl.org/docs/apps/enc.html

$ echo test | openssl enc -rc4 -k mypassword | openssl enc -a

U2FsdGVkX19bhXdcLihrkA3armB5

$ echo U2FsdGVkX19bhXdcLihrkA3armB5 | openssl enc -d -a | openssl enc -d -rc4 -k mypassword

test

O "enc -a" (e o "enc -d -a") serve para (des)codificar em base64 para poder ver o resultado na consola.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Qual é o problema se eu não converter para base64?

Já agora... estou impressionado, como é que sabias isto? Isto requer alguma prática e a leitura de mais do que uma manpage?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pmg    102
pmg
Qual é o problema se eu não converter para base64?

Nenhum ... mas a minha consola não apresenta de forma eficaz alguns bytes.

Em vez de fazer base64, posso mandar para o hexdump:

$ echo test | openssl enc -rc4 -k mypassword | hd

00000000  53 61 6c 74 65 64 5f 5f  48 9b 3f 06 1c f8 d1 a4  |Salted__H.?.....|

00000010  ca b1 45 aa 1c                                    |..E..|

00000015

$

Outra razão é: como é que fazia a operação inversa? Eu prefiro fazer o "echo U2FsdGVkX19bhXdcLihrkA3armB5" do que codificar os caracteres um a um

$ echo -e -n '\x53\x61\x6c\x74\x65\x64\x5f\x5f\x48\x9b\x3f\x06\x1c\xf8\xd1\xa4\xca\xb1\x45\xaa\x1c' | openssl enc -d -rc4 -k mypassword

test

$

como é que sabias isto?

hehehe, não sabia isto de cor.

Sabia que era possível, porque já o tinha feito há uns tempos numas experiências.

Fui "só" lembrar-me que tinha de usar o OpenSSL, consultar 1 ou 2 manpages, e testar um bocadito até acertar :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

ehehehe... há pouco só tinha inserido caracteres básicos.... agora que inseri uns acentos e tal já percbi que realmente é necessário converter para um formato mais seguro...

olhem só como ficou o meu gnome terminal depois de lhe ter insrido uns acentos e tal... e o engraçado é que até a prompt e o que quer que teclasse ficava tudo marado

fdupfd9.png

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade