SHA512转UTF8转字节加密

发布于 2025-01-15 22:27:11 字数 407 浏览 0 评论 0原文

一个问题:

包裹服务提供商要求密码以特定方式编码:

键-> UTF8编码-> SHA512

它们的 KEY 应该是字节形式,而不是字符串,

目前我在 Node.js 和 CryptoJS 中都有这个:

password = CryptoJS.SHA512(CryptoJS.enc.Utf8.parse(key))

或者

password = CryptoJS.SHA512(CryptoJS.enc.Utf8.stringify(key))

不知道哪一个是正确的。

我需要将 key 转换为字节,我该怎么做?

a question:

A parcel service provider requests that the password is encoded in a specific way:

KEY -> UTF8 Encoding -> SHA512

They KEY should be in byte form, not string

currently I have this in Node.js with CryptoJS:

password = CryptoJS.SHA512(CryptoJS.enc.Utf8.parse(key))

or

password = CryptoJS.SHA512(CryptoJS.enc.Utf8.stringify(key))

Don't know which one is the right one.

I need to convert the key to bytes, how do I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

忆梦 2025-01-22 22:27:11

密钥是任意字节序列,SHA-512 适用于任意字节序列。但是,UTF-8 无法对任意字节序列进行编码。它只能对 Unicode 代码点进行编码。你所要求的是不可能的。 (我建议准确地发布要求是什么。您可能误读了它。)

您需要另一种编码,例如 Base64 或 Hex。其中任何一个的输出都与 UTF-8 兼容(它们都输出 UTF-8 的子集)。

也就是说,这是一个非常奇怪的请求,因为您已经拥有 SHA-512 的正确输入。将其转换为字符串,然后将该字符串转换回(可能不同)字节似乎是毫无意义的步骤,但如果您需要它,您将需要像 Base64 或 Hex 这样的字节编码。

Keys are arbitrary sequences of bytes, and SHA-512 works on arbitrary sequences of bytes. However, UTF-8 can't encode arbitrary sequences of bytes. It can only encode Unicode code points. What you're asking for isn't possible. (I suggest posting precisely what the requirement is. It's possible you're misreading it.)

You need another encoding, such as Base64 or Hex. The output of either of those is compatible with UTF-8 (they both output subsets of UTF-8).

That said, this is a very strange request, since you already have exactly the correct input for SHA-512. Converting it to a string and then converting that string back to (likely different) bytes seems a pointless step, but if you need it, you'll need a byte encoding like Base64 or Hex.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文