在声明性管道(Groovy 2.4.11)中的脚本中,我想对字符串(最好是SHA-256)进行哈希处理。 没有人知道不需要签名批准的方法吗?
答案 0 :(得分:1)
Pipeline Utility Steps插件附带一个sha1
步骤。
不幸的是,社区插件似乎无法提供其他SHA变体。
答案 1 :(得分:0)
有同样的问题。 对我来说,使用 Java 方法是可行的(如果您不需要沙箱,或者愿意将使用的方法列入白名单):
import java.security.MessageDigest
@NonCPS
String getDigest(String input, String algorithm) {
MessageDigest digest = MessageDigest.getInstance(algorithm)
digest.update(input.bytes)
digest.digest().encodeHex().toString()
}
echo getDigest('foo', 'SHA256')
我们将在 Jenkins 配置中全局定义的 Jenkins 共享库中使用此方法,因此它将能够在沙箱之外运行。实际上,我们使用 MD5 哈希 - 但也支持其他算法。
有关可能的摘要算法列表,您可以查看 MessageDigest
的官方文档,在撰写本文时可以在此处找到:
https://docs.oracle.com/javase/7/docs/api/java/security/MessageDigest.html