如何在Java和JavaScript之间传递字节数组

abb*_*abb 6 javascript java arrays byte

我需要从Javascript访问SecureRandom Java Object.我的最终目标是从PRNG获取4个字节并将其转换为Javascript整数变量.根据http://download.oracle.com/javase/1.4.2/docs/api/java/security/SecureRandom.html,以下两行Java代码应该抓住4个随机字节:

byte bytes[] = new byte[4];
random.nextBytes(bytes);
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道如何1)分配适合传递给Java方法的字节数组2)然后将该数组解析为整数

到目前为止,我已经设法getSeed()方法返回一个随机字节数组.当我在Firefox中呈现下面提供的HTML代码时,它显示"[B @ 16f70a4",它似乎是指针或其他东西.

<script>
var sprng = new java.security.SecureRandom();
random = sprng.getSeed(4);
document.write(random + "<br/>\n");
</script>
Run Code Online (Sandbox Code Playgroud)

这让我觉得我成功实例化并访问了Java类,但是在类型转换方面存在问题.

任何人都可以帮我写allocateJavaByteArray(N)convertJavaByteArrayToInt(N)让以下代码工作:

var sprng = new java.security.SecureRandom();
var nextBytes = allocateJavaByteArray(4);
srng.nextBytes(nextBytes);
var nextInt = convertJavaByteArrayToInt(4);
Run Code Online (Sandbox Code Playgroud)

先感谢您.

Ton*_*nis 0

通常,您会在服务器上生成随机数并将其在请求中传递给 jsp。