From 4898ef1ccc141d5347d7f55b47cd0b7fe7ac57c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=B0=B8=E5=BF=A0?= Date: Thu, 25 May 2023 11:36:07 +0000 Subject: [PATCH] update zh-cn/application-dev/security/cryptoFramework-guidelines.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 王永忠 --- .../security/cryptoFramework-guidelines.md | 37 +++++++++++++++---- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/zh-cn/application-dev/security/cryptoFramework-guidelines.md b/zh-cn/application-dev/security/cryptoFramework-guidelines.md index 7e87024417..2c09dbcc75 100644 --- a/zh-cn/application-dev/security/cryptoFramework-guidelines.md +++ b/zh-cn/application-dev/security/cryptoFramework-guidelines.md @@ -2035,19 +2035,19 @@ function LoopHmacPromise(algName, loopSize) { 使用随机数操作的主要场景为: -- 用户生成随机数Random实例,输入随机数生成的长度(字节),生成指定长度的随机数。 +- 用户生成随机数Random实例,输入随机数生成的长度(字节),生成指定长度(范围为1~INT_MAX)的安全随机数。 - 用户使用生成的随机数作为参数,进行种子设置。 ### 接口及参数说明 -//TODO 新增同步接口 详细接口说明可参考[API参考](../reference/apis/js-apis-cryptoFramework.md)。 -| 实例名 | 接口名 | 描述 | -| --------------- | ------------------------------------------------------------ | ---------------------------------------------- | -| cryptoFramework | function createRandom() : Random; | 生成随机数Random实例 | -| Random | generateRandom(len : number, callback: AsyncCallback\) : void; | 接受输入长度,通过Callback,异步生成随机数 | -| Random | generateRandom(len : number) : Promise\; | 接受输入长度,通过Promise,异步生成随机数 | -| Random | setSeed(seed : DataBlob) : void; | 接受输入Blob,设置种子 | +| 实例名 | 接口名 | 描述 | +| --------------- | ------------------------------------------------------------ | ------------------------------------------ | +| cryptoFramework | function createRandom() : Random; | 生成随机数Random实例 | +| Random | generateRandom(len : number, callback: AsyncCallback\) : void; | 接受输入长度,通过Callback,异步生成随机数 | +| Random | generateRandom(len : number) : Promise\; | 接受输入长度,通过Promise,异步生成随机数 | +| Random | generateRandomSync(len: number): DataBlob; | 接受输入长度,同步生成随机数 | +| Random | setSeed(seed : DataBlob) : void; | 接受输入Blob,设置种子 | ### 开发步骤 @@ -2100,4 +2100,25 @@ function doRandByCallback(len) { } }); } + +// 通过同步接口生成随机数 +function doRandBySync(len) { + var rand; + try { + rand = cryptoFramework.createRandom(); + } catch (error) { + console.error("[Sync]: error code: " + error.code + ", message is: " + error.message); + } + var syncGenerateRand = rand.generateRandomSync(len); + syncGenerateRand.then(randData => { + console.error("[Sync]: rand result: " + randData.data); + try { + rand.setSeed(randData); + } catch (error) { + console.log("setSeed failed, errCode: " + error.code + ", errMsg: " + error.message); + } + }).catch(error => { + console.error("[Sync]: error: " + error.message); + }); +} ``` -- Gitee