在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);
我不知道Java等同于BitConverter
。
如何将数据转换为UInt32
?
答案 0 :(得分:0)
获得随机数后,您可以返回对将字节转换为long
的方法的调用,如:
public long bytesToLong(byte[] bytes) {
ByteBuffer buffer = ByteBuffer.allocate(Long.BYTES);
buffer.put(bytes);
buffer.flip();//need flip
return buffer.getLong();
}