NodeJS中sm2加密报错
kwonganding opened this issue · 1 comments
kwonganding commented
sm2加密在浏览器中运行正常,在NodeJS中运行报错:
throw new Error("random number pool is not ready or insufficient, prevent getting too long random values or too often.");
已复现:
1、发现是“async function initRNGPool() {” 初始化中用了异步,而我的方法调用时,一些初始化还没完成。
2、setTimeout延迟执行一下,就OK了
Cubelrti commented
默认使用的 node webcrypto 需要在 node 18 以上,更低的版本需要改成 require('crypto')。可以考虑自行 replace 一下或者先异步处理。