用openssl生成加密的密码文件脚本

#原文来源:Linux Study 用openssl生成加密的密码文件脚本

#!/bin/bash
#Function:将用户输入的明文密码通过openssl工具转换为加密后的密码并保存为密码文件
#Author:zzjiwang
#Version:1.0
#Date:2017-07-28 16:50


genpass() {
local currentDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
local tmp=$(mktemp ${currentDir}/pass.XXXXXX)
for((i=1;i<=2;i++))
do
        echo -n "Enter your password: "
        stty -echo
        read pass1 < /dev/tty
        stty echo
        echo
        echo -n "Retype your password: "
        stty -echo
        read pass2 < /dev/tty
        stty echo 
        echo
        if [ "${pass1}" != "${pass2}" ];then
                echo "Sorry,passwords do not match."
                continue
        else
                break
        fi  

done
if [ "${pass1}" != "${pass2}" ];then
        echo "Failed to generate password file,the two password input is inconsistent,please check."
        [ ! -s ${tmp} ] && rm -f ${tmp}
        return 1
fi
(umask 077 ;echo "${pass1}" | openssl passwd -1 -salt 34lfper0LEo -stdin > ${tmp})
if [ $? -eq 0 ];then
        echo "Generate password file successfuly: ${tmp}" 
        return 0
else
        echo "Generate password file failed, please check." 
        return 1
fi
}
genpass

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值