UNIX fun stuff - echo and dc - obfuscate/garble a string sort of
Hi,
Humorous UNIX Commands shows a fun way of using echo and dc to sort of obfuscate a string.
I am just wanting to know if there is a way to sort of use dc and echo to print out an obfuscated/garbled string instead kinda doing the reverse of echo | dc? Should it be dc 'GET A LIFE!' | echo, that does not seem to be the way to it
So I want to be able to get the echo'ed string instead. I am trying to see if I can use this as some way of sending out a 'secret' message or password to a script or to a user so that when I reset their password, I'll just get them to do echo '<string>' | dc instead of sending them the plaintext password.
First: Note that:
produces exactly the same output as:
The echo utility doesn't read arguments from standard input; it reads arguments from its argument list.
Second: If you're going to email a new password to your users, sending it to them in clear text and sending it to them with instructions saying something like:
Quote:
You can see your new password by executing the command:
echo 'obfuscated string' | dc
are equivalent. Anyone who intercepts that message will be able to run the command to produce the clear text just as easily as the user to whom the e-mail was addressed.
Third: If you send the obfuscated password and the way to turn it into plain text in separate e-mails, you have a better chance of keeping the clear text hidden. But if one e-mail message has been intercepted, there is no reason to believe that another message (containing the way to turn the obfuscated password into clear text) will not also be intercepted.
Fourth: You would be MUCH better off providing a secure method for the user to retrieve their password by distributing the new password:
in person (verifying employee IDs if you don't know your users),
providing a secure website (requiring the old password to get the new password), or
by a secure method of distributing hard copy of the new password (such as registered US snail mail).
This User Gave Thanks to Don Cragun For This Post:
Thanks for your reply, very much appreciated. Totally agree with what you suggested RE: delivering password security.
Just to clarify though, does that mean it is not possible to do the reverse of
?
I am a bit curious of a way to a generate a 'magic'/garbled string of some sort. For example, how do I work out what string echo | dc would give me 'Hello World'? It does not have to be echo | dc, perhaps there is another UNIX command that is easier to use that can achieve the same thing.
I know it is trivial. I guess that is why I say UNIX fun I want to create a simple tagline of some sort to use for my scripts so I can more easily identify which ones I've written and not tampered with.
Last edited by Scrutinizer; 03-19-2015 at 06:56 AM..
Reason: CODE tags
If you save the following script in a file named obfuscate:
make it executable with:
and execute the command:
then the command:
will give you:
and the command:
will give you:
Is this what you're looking for? If won't work with characters that aren't in the 7-bit ASCII character set and it won't work if the text you want to obfuscate contains any NUL bytes, and on many systems it won't work if line in files you want to obfuscate are longer than LINE_MAX bytes and if the output produced by obfuscate produces a string longer than LINE_MAX, dc may not be able to decrypt it for you on some systems.
If you want to try this on a Solaris/SunOS system, change awk to /usr/xpg4/bin/awk.
The standards didn't require awk to treat a file name operand of - as a request to read standard input (although most implementations of awk already did this) until the 2013 editions of the POSIX Standards and the Single UNIX Specifications. If the implementation of awk on your system gives an diagnostic message similar to:
you'll need a two step process (or three step, if you remove the temp file when you're done) similar to:
to make it work.
If you want to see the dc commands awk created in obfuscate for the input you fed it, the command:
after running obfuscate will show you the input dc processed for the last invocation of obfuscate. For the above commands, that would be:
Are we having fun yet?
These 4 Users Gave Thanks to Don Cragun For This Post:
I have users that print files to selected printers. Instead of creating one function for each printer I would like to have just one and passing the files to print as well as the wanted printer. The following code does not work, of course.
I'm expecting that $1 is the list of files to be printed... (6 Replies)
Hi guys, man bash doesn't help much here nor does the WWW.
(I have discovered there is technically no limit to a bash array.)
I am thinking of adding a new full manual inside AudioScope.sh.
A few questions here.
The main question is, assuming I go ahead with this idea:-
Is there a limit... (6 Replies)
Hi,
I need to somehow pipe the password to a command and run some SQL, for example, something like echo $password | sqlplus -s system @query01.sql
To make it not so obvious, I decided to try out writing a small C program that basically just do echo $password. So now I just do x9.out | sqlplus... (8 Replies)
I came across and unexpected behavior with redirections in tcsh. I know, csh is not best for redirections, but I'd like to understand what is happening here.
I have following script (called out_to_streams.csh):
#!/bin/tcsh -f
echo Redirected to STDOUT > /dev/stdout
echo Redirected to... (2 Replies)
I am trying to use echo in CSH and getting an error.
I want to use to tell the user which parameters are optional.
set msg2 = " -Inmod= -Nxz= -Varp="
echo $msg2 (3 Replies)
Hi all,
I've search the forums regarding posts similar to this already but can't find the suitable response. Am actually looking for something very trivial I think. I just want to mask/obfuscate the a.out file and run it like a normal UNIX program. I've look at gpg and encryption but it requires... (4 Replies)
Hello, I'm only taking Intro to UNIX in school right now, so please bear with me. My problem is with a sort-of recycle-bin rig I've created for fun. I'm using Ubuntu 9.04, I am the admin. (only user, actually) of this computer. I'm using this script in ~/.bashrc
# if files exist, remove contents... (6 Replies)
As a mind refresher, I was thinking to start a new thread for ONE LINERS....funny/weird or any technical one liners....
Let me start first......
=================================
#!/bin/ssh
#The Unix Guru's View of Sex
unzip ; strip ; touch ; grep ; finger ; mount ; fsck ; more ; yes ;... (3 Replies)
With so many different flavors of UNIX and Linux available in the world, choosing the best one for yourself, your family, or for your organization can be such an overwhelming and rather difficult decision to make! :eek:
If you were a salesman and you had to decide the best UNIX/Linux distro for... (1 Reply)
Hi,
My script prints a few varibales as each it reads each line of a text file and then prints them on screen, however iam having problem in aligning and sorting them.
what happens is this
Last First Number
Mark leo 87798798... (1 Reply)