HarmonyOS CryptoJS.TripleDES.encrypt 如何更改gIv的值?

如题:HarmonyOS CryptoJS.TripleDES.encrypt 如何更改gIv的值?

阅读 558
1 个回答

没有配置iv。默认会随机iv

iv设置参考demo:

Text('Triple DES encrypt -- decrypt')
  .fontSize(20)
  .margin(20)
  .fontWeight(FontWeight.Bold)
  .onClick(() => {
    let word: CryptoJS.lib.WordArray = CryptoJS.enc.Utf8.parse('hello world') // 使用Utf8格式解析明文
    let key: CryptoJS.lib.WordArray = CryptoJS.enc.Utf8.parse('my.iworker.cn/shenhua?#@') // 使用Utf8格式解析密钥
    let iv: CryptoJS.lib.WordArray = CryptoJS.enc.Utf8.parse('01234567') // 使用Utf8格式解析偏移量
    let encrypted: string = CryptoJS.TripleDES.encrypt(word, key, {
      mode: CryptoJS.mode.CBC,
      padding: CryptoJS.pad.Pkcs7,
      iv: iv
    }).toString()
    // 解密,需要配置与加密一致的加密模式、填充方式和偏移量
    console.info(encrypted)
    let desDecryptOutput: string = CryptoJS.TripleDES.decrypt(encrypted, key, {
      mode: CryptoJS.mode.CBC,
      padding: CryptoJS.pad.Pkcs7,
      iv: iv
    }).toString(CryptoJS.enc.Utf8) // 将解密结果转为utf8格式才能正确显示
    console.info(desDecryptOutput)
  })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进