mirror of
https://github.com/LamGC/ScalaBot.git
synced 2025-04-29 22:27:31 +00:00
refactor: 将十六进制转换代码迁移到 Kotlin.
将 ByteUtils 的实现改用 Kotlin 代码做, 移除 ByteUtils. 另外, 本次修改同时修正了方法名错误的问题(hax 改成 hex), 并补充了单元测试.
This commit is contained in:
parent
77b7a7cd08
commit
7b985ce325
@ -1,17 +0,0 @@
|
|||||||
package net.lamgc.scalabot.util;
|
|
||||||
|
|
||||||
final class ByteUtils {
|
|
||||||
|
|
||||||
private ByteUtils() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String bytesToHexString(byte[] bytes) {
|
|
||||||
StringBuilder builder = new StringBuilder();
|
|
||||||
for (byte aByte : bytes) {
|
|
||||||
String hexBit = Integer.toHexString(aByte & 0xFF);
|
|
||||||
builder.append(hexBit.length() == 1 ? "0" + hexBit : hexBit);
|
|
||||||
}
|
|
||||||
return builder.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -2,7 +2,7 @@ package net.lamgc.scalabot
|
|||||||
|
|
||||||
import com.google.common.io.Files
|
import com.google.common.io.Files
|
||||||
import mu.KotlinLogging
|
import mu.KotlinLogging
|
||||||
import net.lamgc.scalabot.util.toHaxString
|
import net.lamgc.scalabot.util.toHexString
|
||||||
import org.mapdb.DB
|
import org.mapdb.DB
|
||||||
import org.mapdb.DBException
|
import org.mapdb.DBException
|
||||||
import org.mapdb.DBMaker
|
import org.mapdb.DBMaker
|
||||||
@ -186,5 +186,5 @@ private object BotAccountIdDbAdapter : FileDbAdapter("BotAccountId", { botAccoun
|
|||||||
private object BotTokenDbAdapter : FileDbAdapter("BotToken_v0.1.0", { botAccount ->
|
private object BotTokenDbAdapter : FileDbAdapter("BotToken_v0.1.0", { botAccount ->
|
||||||
val digest: MessageDigest = MessageDigest.getInstance("SHA-256")
|
val digest: MessageDigest = MessageDigest.getInstance("SHA-256")
|
||||||
val digestBytes = digest.digest(botAccount.token.toByteArray(StandardCharsets.UTF_8))
|
val digestBytes = digest.digest(botAccount.token.toByteArray(StandardCharsets.UTF_8))
|
||||||
File(AppPaths.DATA_DB.file, "${digestBytes.toHaxString()}.db")
|
File(AppPaths.DATA_DB.file, "${digestBytes.toHexString()}.db")
|
||||||
})
|
})
|
@ -9,7 +9,7 @@ import java.io.FileFilter
|
|||||||
import java.io.FilenameFilter
|
import java.io.FilenameFilter
|
||||||
import java.net.URL
|
import java.net.URL
|
||||||
|
|
||||||
internal fun ByteArray.toHaxString(): String = ByteUtils.bytesToHexString(this)
|
internal fun ByteArray.toHexString(): String = joinToString("") { it.toString(16) }
|
||||||
|
|
||||||
internal fun Artifact.equalsArtifact(that: Artifact): Boolean =
|
internal fun Artifact.equalsArtifact(that: Artifact): Boolean =
|
||||||
this.groupId.equals(that.groupId) &&
|
this.groupId.equals(that.groupId) &&
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package net.lamgc.scalabot.util
|
package net.lamgc.scalabot.util
|
||||||
|
|
||||||
import org.eclipse.aether.artifact.DefaultArtifact
|
import org.eclipse.aether.artifact.DefaultArtifact
|
||||||
import org.junit.jupiter.api.Assertions.assertFalse
|
import org.junit.jupiter.api.Assertions.*
|
||||||
import org.junit.jupiter.api.Assertions.assertTrue
|
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
|
import java.nio.charset.StandardCharsets
|
||||||
|
|
||||||
internal class UtilsKtTest {
|
internal class UtilsKtTest {
|
||||||
|
|
||||||
@ -16,4 +16,10 @@ internal class UtilsKtTest {
|
|||||||
.equalsArtifact(DefaultArtifact("com.example:demo-2:1.0.0-SNAPSHOT"))
|
.equalsArtifact(DefaultArtifact("com.example:demo-2:1.0.0-SNAPSHOT"))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `bytes to hex`() {
|
||||||
|
assertEquals("48656c6c6f20576f726c64", "Hello World".toByteArray(StandardCharsets.UTF_8).toHexString())
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user