4

我想 md5 an Array[Long],所以我想做那个 anArray[Byte]因为 MD5 函数需要 an Array[Byte],我该怎么做?

我为此使用消息摘要。

4

1 回答 1

6

使用ByteBuffer

val arr = listOfLongs.
  foldLeft(ByteBuffer.allocate(8 * listOfLongs.size)){ (buffer, lon) => 
    buffer putLong lon
  }.array

或者更迫切地:

val buffer = ByteBuffer.allocate(8 * listOfLongs.size)
listOfLongs.foreach(buffer putLong _)
val arr = buffer.array

注意:如果您需要 little-endian,只需调用:

buffer.order(java.nio.ByteOrder.LITTLE_ENDIAN)

一开始。更多灵感:将 long 转换为字节数组并将其添加到另一个数组

于 2012-10-09T19:22:38.310 回答