Unknown Region

プログラムでハマったエラーとその解決方法についての備忘録メモ

【kotlin】MD5文字列を生成するStringのExtension

kotlinでMD5文字列を生成するStringのExtensionを作った。

ちょっとある用途で使おうと思ったのだけれど、使い道がなくなってしまったのでここに上げておく。

StringExtension.kt:

import java.security.MessageDigest

fun String.toMd5Hex(): String {
    val HEX_CHARS: String = "0123456789ABCDEF"
    val bytes: ByteArray = MessageDigest.getInstance("MD5").digest(this.toByteArray())
    val result: StringBuilder = StringBuilder(bytes.size * 2)
    bytes.forEach {
        val index: Int = it.toInt()
        result.append(HEX_CHARS[index shr 4 and 0x0f])
        result.append(HEX_CHARS[index and 0x0f])
    }
    return result.toString()
}