Cubelrti / sm-crypto-v2

国密算法 ts 版
MIT License
51 stars 6 forks source link

NodeJS中sm2加密报错 #2

Open kwonganding opened 1 year ago

kwonganding commented 1 year ago

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 5 months ago

默认使用的 node webcrypto 需要在 node 18 以上,更低的版本需要改成 require('crypto')。可以考虑自行 replace 一下或者先异步处理。