Skip to content

Commit d659e7b

Browse files
committed
Adding a small Digest Library providing easy access to MD5, SHA1 and SHA256 Hashes
1 parent 7405f6d commit d659e7b

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

gradle/libs/digest.gradle

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import java.security.MessageDigest
2+
3+
def getMD5Hash(input) {
4+
if (!(input instanceof File)) {
5+
logger.warn("getMD5Hash(): Input is no File. Maybe you forgot file()?")
6+
}
7+
8+
MessageDigest digest = MessageDigest.getInstance("MD5")
9+
digest.update(input.getBytes())
10+
return new BigInteger(1, digest.digest()).toString(16).padLeft(32, "0");
11+
}
12+
13+
def getSHA1Hash(input) {
14+
if (!(input instanceof File)) {
15+
logger.warn("getSHA1Hash(): Input is no File. Maybe you forgot file()?")
16+
}
17+
18+
MessageDigest digest = MessageDigest.getInstance("SHA-1")
19+
digest.update(input.getBytes())
20+
return new BigInteger(1, digest.digest()).toString(16).padLeft(40, "0");
21+
}
22+
23+
def getSHA256Hash(input) {
24+
if (!(input instanceof File)) {
25+
logger.warn("getSHA256Hash(): Input is no File. Maybe you forgot file()?")
26+
}
27+
28+
MessageDigest digest = MessageDigest.getInstance("SHA-256")
29+
digest.update(input.getBytes())
30+
return new BigInteger(1, digest.digest()).toString(16).padLeft(64, "0");
31+
}
32+
33+
ext { /* hax to export the methods */
34+
getMD5Hash = this.&getMD5Hash
35+
getSHA1Hash = this.&getSHA1Hash
36+
getSHA256Hash = this.&getSHA256Hash
37+
}

0 commit comments

Comments
 (0)