linux下加密与解密字符串的几种方法

发布时间:2019-10-11编辑:脚本学堂
本文介绍下,在linux中加密与解密字符串的几种方法,有需要的朋友参考下。

linux下,对字符串进行加密与解密,本节分享下python与bash shell相结合来实现的几种方法,供大家学习参考。

方法1:〔 Python 与 Bash Shell 的结合 〕
这个命令会让要求输入一个字符串,然后会再输出一串加密了的数字。

加密代码[照直输入]:
 

复制代码 代码示例:
python -c 'print reduce(lambda a,b: a*256+ord(b), raw_input("string: "), 0)'

解密代码[数字后+P]:
dc -e 输出的数字P

方法2:〔 应该是纯 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
 

得到:gtalk@gmail.com

方法3:〔 Base64 编码,适合写加密脚本
同样用 gtalk@gmail.com 作为明文,来看代码:

加密代码:
 

复制代码 代码示例:
echo "gtalk@gmail.com" |base64 -i
 

得到:Z3RhbGtAZ21haWwuY29tCg==

解密代码:
 

复制代码 代码示例:
echo "Z3RhbGtAZ21haWwuY29tCg==" |base64 -d
 

得到:gtalk@gmail.com