[土法]shell下对key进行hash计算,乱序,分割排布!方便自己读取,防止外人偷瞄!

sh/bash/dash/ksh/zsh等Shell脚本
回复
ghome9
帖子: 51
注册时间: 2023-01-11 11:12
系统: ubuntu22.04

[土法]shell下对key进行hash计算,乱序,分割排布!方便自己读取,防止外人偷瞄!

#1

帖子 ghome9 » 2024-05-19 19:22

显示结果如下:

代码: 全选

请输入密码关键字
请输入乱序十位数
请输入是否要实施测试模式:[y为进入]
0,310 dcb bf4 cce 62f 762 a2a aa1 48d 556 bd
1,eb9 b24 80c 0ff 965 1eb 042 558 927 2fd 3d
2,ad0 e9e 545 bd1 d94 9dc f01 9ce 06a 2ae 95
3,e7d 755 d1a ef5 d1c eeb 803 e20 063 a33 4c
4,42a 684 5a5 57b ef7 04a d8a c9c b44 61d 43
5,bbf 37b c29 caa 653 170 cf5 a57 8f1 e74 64
6,1f7 594 306 8ed 444 fb2 45b f2a 6a2 91c 0c
7,b2d 480 a44 53e bdf 16d f15 8c0 528 1fe 0a
8,eff aa6 33f c27 abd de0 023 af1 0ac 968 5e
9,220 a7f 49d 424 065 985 87a 66f 025 84a c3
10,439 b96 8b8 3f9 6a7 04a d09 bf8 ffe 2e9 1b
脚本如下:

代码: 全选

#! /bin/bash
echo '请输入密码关键字';
stty -echo;
read passwd;
echo '请输入乱序十位数';
read numall;
echo '请输入是否要实施测试模式:[y为进入]';
read testyn;
str0=$(echo -n "$passwd"|md5sum|cut -b-32);
str1=$(echo -n "$RANDOM"|md5sum|cut -b-32);
str2=$(echo -n "$RANDOM"|md5sum|cut -b-32);
str3=$(echo -n "$RANDOM"|md5sum|cut -b-32);
str4=$(echo -n "$RANDOM"|md5sum|cut -b-32);
str5=$(echo -n "$RANDOM"|md5sum|cut -b-32);
str6=$(echo -n "$RANDOM"|md5sum|cut -b-32);
str7=$(echo -n "$RANDOM"|md5sum|cut -b-32);
str8=$(echo -n "$RANDOM"|md5sum|cut -b-32);
str9=$(echo -n "$RANDOM"|md5sum|cut -b-32);
str10=$(echo -n "$RANDOM"|md5sum|cut -b-32);
word0=( );
word1=( );
word2=( );
word3=( );
word4=( );
word5=( );
word6=( );
word7=( );
word8=( );
word9=( );
word10=( );
for i in {0..11}
do
	word0[$i]=${str0:(3*$i):3};
	word1[$i]=${str1:(3*$i):3};
	word2[$i]=${str2:(3*$i):3};
	word3[$i]=${str3:(3*$i):3};
	word4[$i]=${str4:(3*$i):3};
	word5[$i]=${str5:(3*$i):3};
	word6[$i]=${str6:(3*$i):3};
	word7[$i]=${str7:(3*$i):3};
	word8[$i]=${str8:(3*$i):3};
	word9[$i]=${str9:(3*$i):3};
	word10[$i]=${str10:(3*$i):3};
#	echo ${word1[$i]};
done
int1=${numall:0:1};
int2=${numall:1:1};
int3=${numall:2:1};
int4=${numall:3:1};
int5=${numall:4:1};
int6=${numall:5:1};
int7=${numall:6:1};
int8=${numall:7:1};
int9=${numall:8:1};
int10=${numall:9:1};
if [ "$testyn" == "y" ];then
	echo '测试显示如下,请不要用于密码输入';
	echo ${word0[@]};
	echo ${word1[@]};
	echo ${word2[@]};
	echo ${word3[@]};
	echo ${word4[@]};
	echo ${word5[@]};
	echo ${word6[@]};
	echo ${word7[@]};
	echo ${word8[@]};
	echo ${word9[@]};
	echo ${word10[@]};
echo "========================";
###int1=${numall:0:1};
###int2=${numall:1:1};
###int3=${numall:2:1};
###int4=${numall:3:1};
###int5=${numall:4:1};
###int6=${numall:5:1};
###int7=${numall:6:1};
###int8=${numall:7:1};
###int9=${numall:8:1};
###int10=${numall:9:1};
	echo $int1,$int2,$int3,$int4,$int5,$int6,$int7,$int8,$int9,$int10;
fi
for i in $int1 $int2 $int3 $int4 $int5 $int6 $int7 $int8 $int9 $int10;
do
	case $i in
		1)	
			tmp=$(echo ${word0[$i]});
			word0[$i]=$(echo ${word1[$i]});
			word1[$i]=$tmp;
			;;			
		2)	
			tmp=$(echo ${word0[$i]});
			word0[$i]=$(echo ${word2[$i]});
			word2[$i]=$tmp;
			;;			
		3)	
			tmp=$(echo ${word0[$i]});
			word0[$i]=$(echo ${word3[$i]});
			word3[$i]=$tmp;
			;;			
		4)	
			tmp=$(echo ${word0[$i]});
			word0[$i]=$(echo ${word4[$i]});
			word4[$i]=$tmp;
			;;			
		5)	
			tmp=$(echo ${word0[$i]});
			word0[$i]=$(echo ${word5[$i]});
			word5[$i]=$tmp;
			;;			
		6)	
			tmp=$(echo ${word0[$i]});
			word0[$i]=$(echo ${word6[$i]});
			word6[$i]=$tmp;
			;;			
		7)	
			tmp=$(echo ${word0[$i]});
			word0[$i]=$(echo ${word7[$i]});
			word7[$i]=$tmp;
			;;			
		8)	
			tmp=$(echo ${word0[$i]});
			word0[$i]=$(echo ${word8[$i]});
			word8[$i]=$tmp;
			;;			
		9)	
			tmp=$(echo ${word0[$i]});
			word0[$i]=$(echo ${word9[$i]});
			word9[$i]=$tmp;
			;;			
		0)	
			;;			
	esac
done
echo 0,${word0[@]};
echo 1,${word1[@]};
echo 2,${word2[@]};
echo 3,${word3[@]};
echo 4,${word4[@]};
echo 5,${word5[@]};
echo 6,${word6[@]};
echo 7,${word7[@]};
echo 8,${word8[@]};
echo 9,${word9[@]};
echo 10,${word10[@]};
stty echo;
土法小工具分享结束!
keymap_生成密码阵列表.txt
(3.14 KiB) 已下载 7 次
我大声地说:"我是小白,我是普通网民";所以我的发贴内容会有漏洞,不会是最新技术.请自行判断!
叠甲!最后,看个乐子就好!
回复