首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在musl中使用SHA-256密码?

如何在musl中使用SHA-256密码?
EN

Stack Overflow用户
提问于 2020-01-24 10:48:50
回答 3查看 346关注 0票数 3

我使用的是musl:https://www.musl-libc.org

如果我浏览存储库,我可以看到有一堆与密码相关的源文件(包括crypt_sha256.c)。

问题是它们没有头文件。我该怎么用呢?

这些是我系统中库中的符号:

我也找不到谷歌的任何代码样本,如何使用musl的SHA-256特性。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-01-24 11:52:59

你是对的,这三个功能

  • sha256_init()
  • sha256_update()
  • sha256_sum()

确实是泛型SHA256哈希函数。

不幸的是,这些符号不是公开导出的,而是仅在内部用于生成表单$5$0rXgD0/KkyyT0$5PPj3bke0vPxsMDlSXzBz2D3TFNahLrXSs7.elU3u2/的盐析密码散列。

因此,不提供使用这些函数的公共头文件。只导出高级函数crypt_sha256() .

为什么他们决定不导出通用接口只能猜测,至少我找不到一个解释。

票数 3
EN

Stack Overflow用户

发布于 2020-01-24 10:52:43

这不是一般的SHA-256消息摘要算法,而是crypt(3)密码哈希函数使用的特定算法。请参阅关于如何使用该函数的文档。

票数 3
EN

Stack Overflow用户

发布于 2020-01-24 14:19:50

正如Ctx所写的和评论说不知道原因,这些函数是不导出的。我可以填写这个理由。

一般来说,musl不会单方面发明新的接口,这些接口几乎肯定会以微妙的方式与其他libc提供程序最终发明的类似接口不同。我们正在启动一个跨libc协作小组,该小组不像POSIX标准化进程那么正式,这可能使将来提供这样一些接口是合理的,而且这可能最终会导致出现在POSIX上游的一些共识。

除此之外,任何想要使用这些实现的人都可以根据许可条款复制代码并使用它。它们是小型的、独立的、许可许可的,通过这种方式使用它们,您不会锁定任何外部接口边界的签名。但是,与通常的密码一样,您应该小心侧通道泄漏机密的风险。在musl中使用时,我不认为这是一个问题,但我还没有分析其他可能的用途,选择一个设计用于任意加密设置的实现可能更安全。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59894931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档