I'm trying to hash a string using the crypto-js library in a react/typescript project. I'm using crypto-js 3.1.9 and @types/crypto-js 3.1.33.
Here's some code:
import CryptoJS = require("crypto-js");
export const hashString= (str: string): string => {
const hash = CryptoJS.MD5(str);
return hash;
}
I expect hash
to be of type string, as specified in the documentation of the crypto-js implementation. But the function returns an object, that contains a wordarray.
I also tried calling
hash.toString(CryptoJS.enc.Hex)
but that didn't work, because typescript also assumes that hash
will be a string. So a parameterized toString
function is not allowed.
What am I doing wrong?
I know this is an old question, but I had this question recently and in case someone is looking for an answer, I just cast the result to a string. Seems to work fine for me.
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>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.