Crypto-JS哈希函数返回对象

6

我正在一个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;
}

根据crypto-js实现的文档要求,我期望hash是字符串类型。但函数返回一个包含wordarray的对象。

我也尝试了调用:

hash.toString(CryptoJS.enc.Hex) 

但这并不起作用,因为TypeScript还假定hash将是一个字符串。因此,带参数的toString函数是不允许的。

我做错了什么?


1
hash.toString(CryptoJS.enc.Hex) should be correct, but you can also try hash.toString() - Artjom B.
你是通过添加toString()或其他方式解决了它吗? - Nerius Jok
@NeriusJok 我从未能够解决它,只好自己实现了MD5。 - Androidicus
hash.toString() 对我来说运行良好。 - Rajeev
1个回答

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>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接