bash – 加密/解密存储在配置文件中的密码

我有一个简单的 Bash脚本自动执行需要基于密码的身份验证的任务.
目前我以纯文本格式存储凭证:

$cat ~/.myconfig
username=foo
password=bar

显然这很糟糕 – 所以我想知道是否有一种使用我的公钥/私钥对加密/解密密码的简单方法.使用Yet Another Password进行加密不会获得太多收益,所以我希望它能够自动发生.

我已经完成了一些研究(在这里和其他地方),但我对这个问题的研究还很远……

解决方法

您可以将密码存储到md5 sum中,之前添加一些盐.

创建:

\#!/bin/bash

salt=12345_

protocol=sha1sum

read -p "Enter login: " username
read -p -s "Password: " pass1
read -p -s "Repeat: pass2

if [ "pass1 != pass2" ]; then echo "Pass missmatch"; exit 1; else password=pass1; fi

echo -en "$username " >> ./mypasswd
echo -e "${salt}${password} | $protocol | awk '{print $1}'" >> ./mypqsswd

读:

\#!/bin/bash
salt=12345_ #(samesalt)
protocol=sha1sum

read -p "Enter username: " username
read -p -s "Enter password: " password

if [ `grep $username ./mypasswd | awk '{print $2}' != `echo -e "`echo ${salt}${password} | $protocol | awk '{print $2}'`" ]; then echo -e "wrong username or password"; exit 127; else echo -e "login successfull"; fi

这是你的代码.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...