【问题标题】:Crypto-JS hash functions return objectCrypto-JS 哈希函数返回对象
【发布时间】:2017-07-13 13:57:30
【问题描述】:

我正在尝试在 react/typescript 项目中使用 crypto-js 库对字符串进行哈希处理。我正在使用 crypto-js 3.1.9 和 @types/crypto-js 3.1.33。

这里有一些代码:

import CryptoJS = require("crypto-js");

export const hashString= (str: string): string => {
  const hash = CryptoJS.MD5(str);
  return hash;
}

我希望hash 是字符串类型,如crypto-js 实现的文档中所指定。但是该函数返回一个包含 wordarray 的对象。

我也试过打电话

hash.toString(CryptoJS.enc.Hex) 

但这不起作用,因为打字稿还假定hash 将是一个字符串。所以参数化的toString 函数是不允许的。

我做错了什么?

【问题讨论】:

  • hash.toString(CryptoJS.enc.Hex)应该是正确的,不过你也可以试试hash.toString()
  • 你是通过添加 toString() 还是其他方式解决的?
  • @NeriusJok 我一直没能解决它并通过自己的 MD5 实现

标签: javascript typescript cryptojs


【解决方案1】:

我知道这是一个老问题,但我最近有这个问题,如果有人正在寻找答案,我只是将结果转换为字符串。对我来说似乎工作得很好。

console.log(typeof CryptoJS.MD5('hello'));
console.log("String() => ", String(CryptoJS.MD5('hello')));
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多