目录

使用AES-WRAP算法对对称密钥加解密(ArkTS)

从API版本22开始,算法库支持使用该算法进行加密和解密操作。

对应的算法规格请参见AES-WRAP加解密算法规格。

加密

  1. 调用cryptoFramework.createSymKeyGenerator、SymKeyGenerator.convertKey,生成密钥算法为AES、密钥长度为128位的对称密钥(SymKey)。

    如何生成AES对称密钥,开发者可参考下文示例,并结合对称密钥生成和转换规格:AES和随机生成对称密钥理解,参考文档与当前示例可能存在入参差异,请在阅读时注意区分。

  2. 调用cryptoFramework.createCipher,指定字符串参数'AES128-WRAP',创建类型为AES128-WRAP的Cipher实例,用于完成加密操作。

  3. 调用Cipher.init,设置模式为加密(cryptoFramework.CryptoMode.ENCRYPT_MODE),指定加密密钥(SymKey)和对应的加密参数(IvParamsSpec),初始化加密Cipher实例。

  4. 当加密内容长度较短时,可以直接调用 Cipher.doFinal 而无需调用update,以获取加密后的数据。

解密

  1. 调用cryptoFramework.createCipher,指定字符串参数'AES128-WRAP',创建类型为AES128-WRAP的Cipher实例,用于完成解密操作。

  2. 调用Cipher.init,设置模式为解密(cryptoFramework.CryptoMode.DECRYPT_MODE),指定解密密钥(SymKey)和对应的解密参数(IvParamsSpec),初始化解密Cipher实例。

  3. 当解密内容长度较短时,可以省略调用update,直接调用Cipher.doFinal,获取解密后的数据。