Portál AbcLinuxu, 12. května 2025 13:03
Zdravim , potřebuji do bash scriptu poslat uživatelské jméno a heslo a bash script by měl vyhodit zakódovaně.
Nejde mi ale předat proměnné viz :
pepe@PC-Pepe:~$ a="aaa" ; b="bbb" ; perl -MMIME::Base64 -e 'print encode_base64("\0$a\0$b");' AAA= pepe@PC-Pepe:~$ perl -MMIME::Base64 -e 'print encode_base64("\0aaa\0bbb");' AGFhYQBiYmI=
A přes openssl sice mi to proměnné pošle ale výsledek je nesprávný
pepe@PC-Pepe:~$ echo "\0aaa\0bbb" | openssl enc -base64 XDBhYWFcMGJiYgo=
pepe@PC-Pepe:~$ a="aaa" ; b="bbb" ; echo "\0$a\0$b" | openssl enc -base64
XDBhYWFcMGJiYgo=
Správně má být "AGFhYQBiYmI="
Poradíte ?
Přes perl mi to jde ale nedokážu tam dodat proměnné , přes openssl mi to nejde vůbec.
Řešení dotazu:
echo -e "\0aaa\0bbb" | openssl enc -base64
pepe@PC-Pepe:~/Programovani$ echo -e "\0aaa\0bbb"|openssl enc -base64 AGFhYQBiYmIK pepe@PC-Pepe:~/Programovani$ perl -MMIME::Base64 -e 'print encode_base64("\0aaa\0bbb");' AGFhYQBiYmI=
Proč se tedy výstup také liší ?
echo -ne "\0aa\0bb.....
Takto to funguje , za to děkuji ! Stále ale nevím jak poslat proměnné perlu
$user="aaa" $passwd="bbb" auth=`perl -MMIME::Base64 -e 'print encode_base64("\0$user\0$passwd");'` echo $auth
auth=`perl -e "print encode_base64(\"\0$user\0$passwd");"`
Taky muzes pouzit perl, aby sam precetl tu promenne z prostredi ($ENV), pak bys je ale musel exportovat.
auth=`perl -MMIME::Base64 -e "print encode_base64(\"\0$user\0$passwd\");"`
No a zde je to co jsem patlal :
#!/bin/bash from="odesilatel@seznam.cz" to="prijemce@seznam.cz" domain="192.168.100.1" mailserver="smtp.seznam.cz" subject="Nazev zpravy" mailtext="Text e-mailu\r\n\r\nDalsi radek emailu.\r\n" user="jmeno-seznam-uctu" passwd="heslo-seznam-uctu" #auth=`perl -MMIME::Base64 -e "print encode_base64(\"\0$user\0$passwd\");"` auth=`echo -ne "\0$user\0$passwd" | openssl enc -base64` exec 9<>/dev/tcp/$mailserver/25 read -r temp <&9 echo "$temp" echo -en "EHLO $domain\r\n" >&9 read -r temp <&9 echo "$temp" read -r temp <&9 echo "$temp" read -r temp <&9 echo "$temp" read -r temp <&9 echo "$temp" read -r temp <&9 echo "$temp" read -r temp <&9 echo "$temp" read -r temp <&9 echo -en "AUTH PLAIN $auth\r\n" >&9 read -r temp <&9 echo "$temp" echo -en "MAIL FROM: <$from>\r\n" >&9 read -r temp <&9 echo "$temp" echo -en "RCPT TO: <$to>\r\n" >&9 read -r temp <&9 echo "$temp" echo -en "DATA\r\n" >&9 read -r temp <&9 echo "$temp" echo -en "Subject: $subject\r\n" >&9 echo -en "From: $from\r\n" >&9 echo -en "To: $to\r\n" >&9 echo -en "Return-Path : <$from>\r\n" >&9 echo -en "X-Mailer: Bash-Email 1.0\r\n" >&9 echo -en "\r\n" >&9 echo -en "$mailtext\r\n" >&9 echo -en ".\r\n" >&9 read -r temp <&9 echo "$temp" echo -en "QUIT\r\n" >&9 read -r temp <&9 echo "$temp" 9>&- 9<&- exit 0
uuencode uudecodeNN
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.