Spe*_*her 9 javascript cryptography node.js
我试图window.crypto.getRandomValues
在nodejs脚本中使用该方法.根据我的理解,window
当我在节点中运行这样的简单代码时,没有元素:
var array = new Uint32Array(10);
window.crypto.getRandomValues(array);
Run Code Online (Sandbox Code Playgroud)
这就是我收到此错误的原因:
ReferenceError: window is not defined
Run Code Online (Sandbox Code Playgroud)
如何在我的代码中使用此方法?
谢谢
小智 22
const crypto = require('crypto').webcrypto;
let a = new Uint8Array(24);
console.log(crypto.getRandomValues(a));
Run Code Online (Sandbox Code Playgroud)
这几乎与浏览器中的一模一样,通过添加webcrypto
到requrie('crypto');
.
msc*_*dex 10
您可以使用内置crypto
模块.它提供了一个crypto.randomBytes()
以及一个crypto.pseudoRandomBytes()
.
但是应该注意的是,这些方法给你一个Buffer对象,你不能传入Uint32Array或类似的,所以API有点不同.
您可以使用与window元素相同的模块:get-random-values
安装它:
npm install get-random-values --save
Run Code Online (Sandbox Code Playgroud)
用它:
var getRandomValues = require('get-random-values');
var array = new Uint32Array(10);
getRandomValues(array);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7484 次 |
最近记录: |