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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-18 22:39:00

作者:styr  出处:Unix爱好者家园unix-cd.com   
因不会在
里追贴,只得在这里再开灌了^_^

闲来无事,只能翻翻老底,再改进改进。。。。这次精简了代码,增加了可DIY密文,这样可以得到与众不同的密码 ^_^

[code]#!/bin/ksh
#乐山市沙湾区邮政局  宋 涛
#按位异或加密数字的shell V050820
#增加输入必须为6位数字的判断
#增加先两两交叉取反
#增加数字<->字母替换 V050829
#再次精简代码及增加可DIY的密文,即能或得与众不同的密码 ^_^  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 num
test $num || { echo  exit 0  }
[[ $num == *([0-9])  &&  ${#num} -eq 6 ]]  || { echo "\n\n      请输入6位数字  \n"  read  clear  continue  }
passwd=$(echo $((${passstr1}$num^111111)) | sed 's/\(.\)\(.\)/\2\1/g')
passwd=$(echo $passwd|sed 'y/1234567890/'"$passstr2"'/')
echo "\n        加密密码为:  "$passwd
unpasswd=$(echo $(echo $passwd|sed 'y/'"$passstr2"'/1234567890/') | sed 's/\(.\)\(.\)/\2\1/g')
unpasswd=$(echo $((unpasswd^111111)) | cut -c2- )
echo "\n          源密码为:  "$unpasswd
done[/code]

[code]#!/bin/ksh
#乐山市沙湾区邮政局  宋 涛
#按位取反加密数字的shell V050820
#增加输入必须为6位数字的判断
#增加先两两交叉取反
#增加数字<->字母替换 V050829
#再次精简代码及增加可DIY的密文,即能或得与众不同的密码 ^_^  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 num
test $num || { echo  exit 0  }
[[ $num == *([0-9])  &&  ${#num} -eq 6 ]]  || { echo "\n\n      请输入6位数字  \n"  read  clear  continue  }
passwd=$(echo $num  | sed 's/\(.\)\(.\)/\2\1/g')
passwd=$(echo $((~${passstr1}$passwd)) | sed 'y/1234567890/'"$passstr2"'/')
echo "\n        加密密码为:  "$passwd
unpasswd=$(echo $passwd|sed 'y/'"$passstr2"'/1234567890/')
unpasswd=$(echo $((~unpasswd)) | cut -c2- | sed 's/\(.\)\(.\)/\2\1/g')
echo "\n          源密码为:  "$unpasswd
done[/code]
阅读(323) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~