1

我正在尝试编写密码安全系统。(只是一个学习一些 bash 脚本的小型家庭系统)我能够加密密码字符串并将其保存到另一个文件中。

我的下一步是在我的 shell 脚本中导出这些加密的密码字符串并解密它们以在此例程中使用它们。我找到了一个使用简单导出命令的导出解决方案,最后将加密字符串保存到新变量中。

如何解密这些字符串并将它们保存在另一个变量中。我正在使用 openssl 和 base64 加密。

这是源代码:

export user=$(cat logindata | head -n1 | tail -n1)
export passwd=$(cat logindata | head -n2 | tail -n1)
passwd2=echo -n $passwd | openssl enc -d -base64
echo "$user"
echo "$passwd2"
4

1 回答 1

6

该脚本将给出以下概念:

#!/bin/sh

username='my_username'
password='my_password'

username_encoded=$(echo -n "$username" | openssl enc -base64)
password_encoded=$(echo -n "$password" | openssl enc -base64)

username_decoded=$(echo "$username_encoded" | openssl enc -d -base64)
password_decoded=$(echo "$password_encoded" | openssl enc -d -base64)

echo "username: $username"
echo "username_encoded: $username_encoded"
echo "username_decoded: $username_decoded"
echo "password: $password"
echo "password_encoded: $password_encoded"
echo "password_decoded: $password_decoded"

输出:

username: my_username
username_encoded: bXlfdXNlcm5hbWU=
username_decoded: my_username
password: my_password
password_encoded: bXlfcGFzc3dvcmQ=
password_decoded: my_password

请注意,在解码时,您需要在末尾发送一个换行符,这就是我没有使用-necho 的原因。

于 2013-09-17T13:36:44.013 回答