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

标签 bash encryption

我有一个简单的 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

这是您的代码。

关于bash - 加密/解密存储在配置文件中的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3501087/

相关文章:

linux - 读取 'for' 循环中的完整行,带空格,带多个输入文件的制表符

perl - 从 Perl 或 shell 中的颠覆转储文件中获取最高修订号

c - 将正在运行的程序的输出通过管道传输到 xargs

python - 语法无效 : Azure CLI with Python

C# XOR 加密文本未显示在 RichTextBox 上

powershell - Plink/PuTTY 使用加密密码

linux - 如何使用本地参数运行远程 bash 脚本

node.js - 无法解密 NodeJS 中使用 Swift CryptoKit 加密的数据 - AES-256-GCM

authentication - 加密文件并保持方便的最佳方法

android - 在 Android 上保持 TensorFlow 模型加密