打字稿中的标准化 md5 哈希 (Angular)

Standardized md5 hashing in typescript (Angular)

我正在尝试生成一个在后端和前端生成的 ID(我知道这不是最佳做法)。 id 是几个(动态生成的,即我事先不知道哈希)字符串连接在一起的 Md5 哈希。所以我尝试做的是使用 Md5 class(在 ts-md5/dist/md5 中)创建一个 Md5 散列:

getId(s1: string, s2: string, s3: string) : string {
    return Md5.hashStr(`${s1}/${s2}/${s3}`);
}

但是,后端返回的哈希与getId()返回的哈希不匹配。

以下是我在后端创建哈希的方法 (Python):

id = hashlib.md5("some_string_seed".encode("utf-8")).hexdigest()

我认为可能问题出在编码上,但添加编码并没有改变任何东西:

encode_utf8( s )
{
  return unescape( encodeURIComponent( s ) );
}
return Md5.hashStr(encode_utf8(`${s1}/${s2}/${s3}`));

我尝试了一些基本示例,但哈希值不匹配。

如何使散列相同? (无法修改后端)

我的解决方案是使用 crypto-js,其 md5 哈希算法产生与 hashlib、Python 库相同的结果。