gpt4 book ai didi

c++ - 用于生成密码哈希的 C/C++ 函数(使用 MD5 或其他算法)?

转载 作者:太空狗 更新时间:2023-10-29 23:28:47 34 4
gpt4 key购买 nike

我正在寻找一个 C/C++ 函数,它的行为与 PHP 的 md5() 函数相同——传入一个字符串,返回该字符串的单向散列。如果 md5() 以外的其他算法同样安全(或更安全)、相当快且理想情况下是单向的,我也愿意接受它们。

我搜索上述函数的原因与我使用 PHP 的 md5() 函数的目的相同:将用户密码的单向散列存储在数据库中,而不是用户密码的实际文本 (万一数据库的数据遭到破坏,用户的密码仍然是相对 secret 的)。

我现在已经花了大约两个小时进行搜索。我发现的所有代码要么用于获取文件数据的 MD5(而不仅仅是字符串),要么无法编译,要么用于另一种编程语言,要么需要整个库(例如 Crypto++、OpenSSL、hashlib++)才能被添加到我的项目中,其中一些非常大(当我只想要一个单向字符串哈希函数时真的有必要吗?)。

鉴于这是一个普遍的需求,我假设有人已经编写并提供了我正在寻找的东西。有人可以指点我吗?

提前致谢。

最佳答案

说真的,使用一个库(OpenSSL 是一个不错的选择)。它们经过充分测试,您可以将它们放入您的项目中,而不必担心代码是否正确。不要担心库的大小,任何您不使用的函数都不会包含在您的最终可执行文件中。

我还建议避免使用 MD5,因为它有已知的弱点,而支持更强大的东西,例如 SHA-256 或 Blowfish。

但是无论您使用哪种算法和实现,都不要忘记 salt your inputs !

关于c++ - 用于生成密码哈希的 C/C++ 函数(使用 MD5 或其他算法)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7656219/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com