0

在 C# 中有以下块

using (var nuq = new RNGCryptoServiceProvider())
{
    var data = new byte[4];
    nuq.GetBytes(data);
    return BitConverter.ToUInt32(data, 0).ToString(CultureInfo.InvariantCulture);
}

我想用Java转换它。到目前为止,我有:

SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
var data = new byte[4];
random.nextBytes(data);

我不知道BitConverter.

如何将数据转换为UInt32?

4

1 回答 1

0

当您获得随机数时,您可以返回对将字节转换为 a 的方法的调用long,例如:

public long bytesToLong(byte[] bytes) {
    ByteBuffer buffer = ByteBuffer.allocate(Long.BYTES);
    buffer.put(bytes);
    buffer.flip();//need flip 
    return buffer.getLong();
}
于 2015-02-16T12:13:26.253 回答