在编写脚本时避免不了使用密码,所以为了增强安全性,需要使用加密解密技术。本文记录几种加密解密的方法。
Python 与 Bash Shell 的结合
这个命令会让你输入一个字符串,然后会再输出一串加密了的数字.
1 2 3 4
| python -c 'print reduce(lambda a,b: a*256+ord(b), raw_input("string: "), 0)'
dc -e 输出的数字P
|
纯 Bash Shell, 含 VIM 的xxd
用 gtalk@gmail.com 作为明文,加密分两步也可以一步。
1 2 3 4 5 6 7 8
| echo "gtalk@gmail.com" |xxd -ps -u
echo "ibase=16; 6774616C6B40676D61696C2E636F6D0A" |bc
一步加密代码: echo "ibase=16; $(echo "gtalk@gmail.com" |xxd -ps -u)" |bc
|
Base64 编码
1 2 3 4 5 6
| echo "gtalk@gmail.com" |base64 -i
echo "Z3RhbGtAZ21haWwuY29tCg==" |base64 -d
|
Base64 编码,这个很好很强大,适合写加密脚本
实现使用 base64 加密、解密字符串并赋值给变量。网上绝大多数是使用 echo
管道实现 加密和解密字符串的输出。
1 2 3 4 5
| pwd=$( base64 -d <<< MQo= ) # 解码 in=$( base64 <<< "123456") # 加密 # 或者 test=$(printf "%s""123456" | base64) # 加密 test=$(printf "%s" MTIzNDU2| base64 -d) # 解密
|
参考文章