如何使用 openssl 或 gpg 加密 属性 文件中的特定值

How to encrypt particular values in a property file using openssl or gpg

我想知道如何使用 openssl 或 gpg 加密属性文件中的特定值。

大多数示例似乎都包含以下内容,我看到的似乎是对整个文件进行了加密。但我只是想用它来加密存储的密码。

加密

openssl enc -aes-256-cbc -in un_encrypted.data -out encrypted.data

解密

openssl enc -d -aes-256-cbc -in encrypted.data -out un_encrypted.data

您可以轻松地使用 openssl 来加密您想要的任何字符串:

$ echo 12345678901 | openssl enc -e -base64 -aes-256-cbc -k MySecretPassword
U2FsdGVkX18z9p14y9XRhDdRBRoeJfIkdLQXQmGfKag=

在您的情况下,您可以使用这样的 bash 脚本:

encrypted=`grep "the.name.of.my.property" myFile.properties|cut -d'=' -f2|openssl enc -e -base64 -aes-256-cbc -k MySecretPassword`
sed "/the.name.of.my.property=/ s/=.*/=$encrypted/" myFile.properties > newFile.properties

这将生成一个名为 newFile.properties 的新文件,其中包含加密字段。