加密与解密:用异或实现简单的加密

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

encrypth.sh用于对字符串加密,代码:

#!/bin/sh

if [[ $# != 1 ]];then

echo " Usage: encrypt.sh clear_word"

exit 1

fi

word=$(echo $1 | od -An -tx1 | sed 's/..$//')

for i in $(seq 1 ${#1});do

num=$(echo $word | awk -v c=$i '{print "ibase=16;"toupper($c)}' | bc)

code=$(awk -v char=$num 'BEGIN{print xor(char,120)}')

#xor(char,120)函数中的120是"x"字符的ascii值。

password=$password$code

done

echo ${password}

unset code word num

decrypt.sh 用于解密

代码:

#!/bin/sh

if [[ $# != 1 ]];then

echo "Usage: decrypt.sh

password"

exit 1

fi

for i in $(echo $1 | fold -2);do

code=$(awk "BEGIN{print xor($i,120)}")

letter=$(perl -e "print pack(c,$code)")

word=$word$letter

done

echo ${word}

unset word letter code

运行:

代码:

$ ./encrypt.sh db2inst

28267417221112

$ ./decrypt.sh 28267417221112

db2inst

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航