From 4f742e9235e35d5c0655fca4e1f432b81b752930 Mon Sep 17 00:00:00 2001 From: Alexander Buntakov Date: Sun, 20 Jun 2021 15:36:57 +0300 Subject: [PATCH] add hash utils --- .../kotlin/ru/touchin/common/byte/ByteUtils.kt | 11 +++++++++++ .../touchin/common/security/hash/HashUtils.kt | 17 +++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 common/src/main/kotlin/ru/touchin/common/byte/ByteUtils.kt create mode 100644 common/src/main/kotlin/ru/touchin/common/security/hash/HashUtils.kt diff --git a/common/src/main/kotlin/ru/touchin/common/byte/ByteUtils.kt b/common/src/main/kotlin/ru/touchin/common/byte/ByteUtils.kt new file mode 100644 index 0000000..3a7e7fd --- /dev/null +++ b/common/src/main/kotlin/ru/touchin/common/byte/ByteUtils.kt @@ -0,0 +1,11 @@ +package ru.touchin.common.byte + +object ByteUtils { + + fun ByteArray.toHex(): String { + return joinToString(separator = "") { byte -> + "%02x".format(byte) + } + } + +} diff --git a/common/src/main/kotlin/ru/touchin/common/security/hash/HashUtils.kt b/common/src/main/kotlin/ru/touchin/common/security/hash/HashUtils.kt new file mode 100644 index 0000000..b8b4635 --- /dev/null +++ b/common/src/main/kotlin/ru/touchin/common/security/hash/HashUtils.kt @@ -0,0 +1,17 @@ +package ru.touchin.common.security.hash + +import java.nio.charset.StandardCharsets.UTF_8 +import java.security.MessageDigest + +object HashUtils { + + enum class HashAlgorithm { + MD5 + } + + fun String.calcHash(algorithmName: HashAlgorithm): ByteArray { + return MessageDigest.getInstance(algorithmName.name) + .digest(this.toByteArray(UTF_8)) + } + +}