如何用Shell对称加密字符串?

Bash

1 前言

一个问题,一篇文章,一出故事。
笔者最近一个项目中Bash脚本函数A需要与函数B进行密码交换,基于安全的考量函数A生创建的随机密码需要变得不可读(加密),函数B接收到加密过的密码后,需要让密码变得可读(解密)。
基于以上对称加密需求,笔者于是整理此文。

2 最佳实践

2.1 使用base64命令

2.1.1 加密操作

echo userpassword | base64 -i

可见如下输出,

dXNlcnBhc3N3b3JkCg==

2.1.2 解密操作

echo dXNlcnBhc3N3b3JkCg== | base64 -d

可见如下输出,

userpassword

2.2 使用openssl命令

2.2.1 加密操作

echo userpassword | openssl aes-256-cbc -a -salt -pbkdf2 -pass pass:mypassword

可见如下输出,

U2FsdGVkX1/NCZ3ITHPOPmYLnSCoRKcCBnGh/tbZk4A=

2.2.2 解密操作

echo U2FsdGVkX1/NCZ3ITHPOPmYLnSCoRKcCBnGh/tbZk4A= | openssl aes-256-cbc -d -a -pbkdf2 -pass pass:mypassword

可见如下输出,

userpassword

参阅文档
====================
https://blog.csdn.net/qichangjian/article/details/103769468
https://donghao.org/2021/10/07/encrypt-and-decrypt-a-string-in-shell/
https://www.linuxtechi.com/encrypted-password-bash-shell-script/
https://devconnected.com/how-to-encrypt-file-on-linux/

没有评论

发表回复

Bash
如何熟悉Base Shell的变量的间接引用?

1 前言 一个问题,一篇文章,一出故事。 笔者希望以一个变量名称去引用另一个变量,于是整理此文。 2 …

Bash
如何实现文件夹路径转纯数字符串?

1 前言 一个问题,一篇文章,一出故事。 由于由于需要设置某目录的配额,配额要求为每个目录指定一个项 …

Bash
如何统计Linux打开文件前10进程?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境有台服务最近压力比较大,打开的文件数量不断地往 …