几种加密字符串的方法

Published: Tags: LINUX PYTHON SHELL

我的GTalk(下面这条是终端命令): dc -e 9180639392311574874582626294457302804032778P

第一种:[ Python 与 Bash Shell 的结合 ] 这个命令会让你输入一个字符串,然后会再输出一串加密了的数字。

加密代码[照直输入]: python -c 'print reduce(lambda a,b: a*256+ord(b), raw_input("string: "), 0)'

解密代码[数字后+P]: dc -e 输出的数字P #注意要有最后的大写P字母

第二种:[ 应该是纯 Bash Shell,含 VIM 的 xxd ] 用 gtalk@gmail.com 作为明文,加密分两步,当然了,也是可以一步过的~

加密代码: 1、echo "gtalk@gmail.com" |xxd -ps -u 得到:6774616C6B40676D61696C2E636F6D0A 2、echo "ibase=16; 6774616C6B40676D61696C2E636F6D0A" |bc 得到:137514765985002236391382606438443478282

一步加密代码: echo "ibase=16; $(echo 'gtalk@gmail.com' |xxd -ps -u)" |bc 得到:137514765985002236391382606438443478282

解密代码: 3、dc -e 137514765985002236391382606438443478282P #注意要有最后的大写P字母 得到:gtalk@gmail.com

第三种:[ Base64 编码,这个很好很强大,适合写加密脚本 ] 同样用 gtalk@gmail.com 作为明文,来看代码:

加密代码: echo "gtalk@gmail.com" |base64 -i 得到:Z3RhbGtAZ21haWwuY29tCg==

解密代码: `echo “Z3RhbGtAZ21haWwuY29tCg==” |base64 -d 得到:gtalk@gmail.com

第四种:[既然说到了Python,也提到了Base64,那么再来一种 ] 同样用 gtalk@gmail.com 作为明文,来看代码:

加密代码: python -c "import base64; print base64.encodestring('gtalk@gmail.com')[:-1]" 得到:Z3RhbGtAZ21haWwuY29t

解密代码: echo "Z3RhbGtAZ21haWwuY29t" |base64 -d 得到:gtalk@gmail.com

之所以比第三种Base64转换出来的字符串短,是因为少了回车换行符的原因。