如何在Scala中将长整型数组转换为字节数组?

4
我想对一个Array[Long]进行MD5加密,因为MD5函数需要一个Array[Byte],所以我想把它变成Array[Byte],请问如何实现?
我可以使用messagedigest来完成这个操作。
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

注意:如果您需要小端序,请调用:

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

开头。欲获得更多灵感:将长整型转换为字节数组并添加到另一个数组中


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接