harmony 鸿蒙分段加解密说明
分段加解密说明
在加解密的过程中,算法库没有对单次或累计的传入数据量设置大小限制,但在传入的数据量较大时(如数据量大于2M),建议开发者将数据分段,完成分段加解密,提高效率。
对称加解密
对称密钥的分段加解密,通过调用Cipher.update实现。
开发者可自定义单次传入的数据量(示例中的updateLength),多次调用update传入数据。
当前单次支持传入的最大长度为INT_MAX(Uint8Array类型的最大长度)。
开发者应当对每次update和doFinal的结果都判断是否为null,并在结果不为null时取出其中的数据进行拼接,形成完整的密文/明文。
开发示例: 使用AES对称密钥(GCM模式)分段加解密
开发示例: 使用SM4对称密钥(GCM模式)分段加解密
非对称加解密
非对称加解密,不支持update操作,仅需要调用Cipher.init和Cipher.doFinal完成加解密。
非对称密钥的分段加密是指当明文大于单次加密支持的数据长度时(具体长度请查非对称密钥加解密算法规格),需要将待加密数据分为合适长度的数据段,并对每个数据段执行加密操作,即创建Cipher,然后调用Cipher.init和Cipher.doFinal接口。
严格意义上说,是数据的拆分加解密,此时单次传入的数据量长度与密钥规格的长度相关。
开发者应当对每次doFinal的结果都判断是否为null,并在结果不为null时取出其中的数据进行拼接,形成完整的密文/明文。
开发示例: 使用RSA非对称密钥分段加解密
常见问题
- 分段加解密中,每次更新的数据量,与加密模式是否有关?
每次更新的数据量,由开发者自定义,与加密模式无关。
不同的加密模式,仅对加解密参数产生影响,不同的加密模式使用的加解密参数不同,具体请参考ParamsSpec。
你可能感兴趣的鸿蒙文章
harmony 鸿蒙Crypto Architecture Kit(加解密算法框架服务)
harmony 鸿蒙使用3DES对称密钥(ECB模式)加解密(C/C++)
harmony 鸿蒙使用3DES对称密钥(ECB模式)加解密(ArkTS)
harmony 鸿蒙使用AES对称密钥(CBC模式)加解密(C/C++)
harmony 鸿蒙使用AES对称密钥(CBC模式)加解密(ArkTS)
harmony 鸿蒙使用AES对称密钥(CCM模式)加解密(C/C++)
harmony 鸿蒙使用AES对称密钥(CCM模式)加解密(ArkTS)
harmony 鸿蒙使用AES对称密钥(ECB模式)加解密(C/C++)
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦