Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92145959
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-18 22:39:20

作者:styr  出处:Unix爱好者家园unix-cd.com   
再玩个BT一点的,按位异或及取反2合一DIY加密版^_^
功能与前2个加密脚本相同,但加密算法2合一,也能DIY密文

[code]#!/bin/ksh
#乐山市沙湾区邮政局  宋 涛
#结合按位异或及取反加密数字的shell V050925

trap "tput sgr0  echo " 0 1 2 3 9 15
tput bold
clear
passstr1='8'                #增加的密文第一位,可设为1位除0以外的整数,即 1-9
passstr2='abcdefghij'       #最终的密文代码,可设为任意不重复的10位英文字符,即a-z或A-Z
echo "\n      按位异或及取反加密数字的shell \n" 
while :
do
echo -n "\n\n\n      请输入原密码:  "
read passwd
test $passwd || { echo  exit 0  }
[[ $passwd == *([0-9])  &&  ${#passwd} -eq 6 ]]  || { echo "\n\n      请输入6位数字  \n"  read  clear  continue  }
passwd=$(echo $passwd  | sed 's/\(.\)\(.\)/\2\1/g')
passwd=$(echo ${passstr1}$passwd)
passwd=$(echo $((~passwd))|cut -c2-)
passwd=$((passwd^111111))
passwd=$(echo $passwd|sed 'y/1234567890/'"$passstr2"'/')
echo "\n        加密密码为:  "$passwd
unpasswd=$(echo $passwd|sed 'y/'"$passstr2"'/1234567890/')
unpasswd=$((unpasswd^111111))
unpasswd=$((~-unpasswd))
unpasswd=$(echo $unpasswd  | cut -c2-| sed 's/\(.\)\(.\)/\2\1/g')
echo "\n          源密码为:  "$unpasswd
done[/code]
阅读(434) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~