加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Scala中将long数组转换为字节?

发布时间:2020-12-16 18:11:42 所属栏目:安全 来源:网络整理
导读:我想md5一个数组[Long],所以我想把它作为一个数组[Byte],因为MD5函数需要一个数组[Byte],我怎么能这样做? 我为此使用了messagedigest. 解决方法 使用 ByteBuffer : val arr = listOfLongs. foldLeft(ByteBuffer.allocate(8 * listOfLongs.size)){ (buffer,
我想md5一个数组[Long],所以我想把它作为一个数组[Byte],因为MD5函数需要一个数组[Byte],我怎么能这样做?

我为此使用了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

注意:如果您需要little-endian,请致电:

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

在开始.更多灵感:Convert long to byte array and add it to another array.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读