Encryption jenkins密码加密,转义${}个字符

Encryption jenkins密码加密,转义${}个字符,encryption,jenkins,groovy,escaping,special-characters,Encryption,Jenkins,Groovy,Escaping,Special Characters,我正在尝试使用以下groovy脚本加密字符串${PASSWD}。将\用于转义$,将\用于{or} import hudson.util.Secret def secret = Secret.fromString("\$\\{PASSWD\\}") println(secret.getEncryptedValue()) def decrypt = Secret.fromString("/WaEf5KeDpbhnjW+hBmV3kmpmQbwoTFh2oI1yFSuUf0=") println(

我正在尝试使用以下groovy脚本加密字符串
${PASSWD}
。将\用于转义$,将\用于{or}

import hudson.util.Secret

def secret = Secret.fromString("\$\\{PASSWD\\}")
println(secret.getEncryptedValue())

def decrypt = Secret.fromString("/WaEf5KeDpbhnjW+hBmV3kmpmQbwoTFh2oI1yFSuUf0=")
println(decrypt.getPlainText())
我得到以下输出:

/WaEf5KeDpbhnjW+hBmV3kmpmQbwoTFh2oI1yFSuUf0=
/WaEf5KeDpbhnjW+hBmV3kmpmQbwoTFh2oI1yFSuUf0=
但是,所需的输出应该是

/WaEf5KeDpbhnjW+hBmV3kmpmQbwoTFh2oI1yFSuUf0=
${PASSWD}
似乎我没有正确使用转义字符。如何将
${PASSWD}
作为字符串传递?

只需使用单引号即可

def secret = Secret.fromString('${PASSWD}')
只需使用单引号

def secret = Secret.fromString('${PASSWD}')

根据你想逃避的地方,这是非常有用的:


对于使用秘密存储,我需要使用6次反斜杠来获得1个反斜杠,我最终需要在sed命令中使用该反斜杠来转义正斜杠。

根据您要转义的内容,这非常有用:

为了使用秘密存储,我需要使用6次反斜杠来获得1次反斜杠,我最终需要在sed命令中使用1次反斜杠来避开正向斜杠