4
我想要md5一个Array[Long]
,所以我想做一个Array[Byte]
因为MD5功能需要Array[Byte]
,我该怎么做?如何将一个long数组转换为Scala中的字节?
我为此使用messagedigest。
我想要md5一个Array[Long]
,所以我想做一个Array[Byte]
因为MD5功能需要Array[Byte]
,我该怎么做?如何将一个long数组转换为Scala中的字节?
我为此使用messagedigest。
使用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
注意:如果你需要小端,只要致电:
buffer.order(java.nio.ByteOrder.LITTLE_ENDIAN)
开头。更多灵感来源:Convert long to byte array and add it to another array。