如何在React-Native中生成HMAC?

时间:2019-08-06 19:22:35

标签: react-native encryption cryptojs

我需要使用私钥从字符串创建HmacSHA256 ... 我使用react-native-crypto-js但不能使用它的HmacSHA256方法, 它总是让我出现“未定义函数”错误,这是我的代码:

const signature = CryptoJS.HmacSHA256('simple', '123456789');
    const signatureBase = signature.toString(CryptoJS.enc.Base64);

我也遵循了文档,但是仍然遇到相同的错误, 如果您知道其他解决方案或使用此软件包的正确方法,请帮助我。 谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决react native windows HmacSHA256 算法的方法。我用过 2 个包

第 1 步:

  npm install --save  react-native-hash //install this
  import { JSHash, JSHmac, CONSTANTS } from "react-native-hash";

  JSHmac("message", "SecretKey", CONSTANTS.HmacAlgorithms.HmacSHA256)
  .then(hash => hmac_encoded_str=hash)
  .catch(e => console.log(e));

  OR
  let hmac_encoded_str= await JSHmac(canonical_string, "C6PqJwbyW4", 
  CONSTANTS.HmacAlgorithms.HmacSHA256)

第 2 步:

  npm install react-native-crypto-js // install this as well
  
  import CryptoJS from "react-native-crypto-js"
  
  CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(hmac_encoded_str));