- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于类似的问题被认为是偏离主题...我已经按照 stackoverflow 本身的几个热门问题(在底部给出)改变了我的问题(毫无疑问,以适应站点规则)。
操作系统:CentOS (GCC)场景:在线密码管理首选项:OpenBSD 实现
我正在尝试使用 bcrypt (使用它是最终的)。但似乎找不到可靠且正确的方法来做到这一点,包括生成哈希值、覆盖内存并存储它们。
我已经看到了 stackoverflow(和 security.stackex)上标记为 bcrypt 的热门问题,到目前为止,我还没有看到正确方法的组合示例。我收集到的内容:
老实说,将所有这些 block 放在一起有多种出错方式,而且我还看到人们如何明显渴望推荐加盐密码哈希,即使他们在其他问题中偏离了主题。
我并不是在寻求最好的方法(这可能会产生意见分歧),而是在代码方面寻求最好的方法之一。
我有一个字符串“plainpassword”,正确地以 NULL 结尾并进行了清理(请不要详细说明),其中包含用户输入的密码。
接下来怎么办?现在如何生成 bcrypt 哈希值?以及如何正确地将其与从Mysql查询到的哈希值进行比较?使用strncmp(甚至strcmp)或strcoll?
如何覆盖内存中的明文?我还需要什么吗?
我应该使用这个:https://man.openbsd.org/crypt_checkpass.3
我虚心寻求帮助。多谢。
Stackoverflow 上的类似问题:
How do I create a SHA1 hash in ruby?
Storing SHA1 hash values in MySQL
HMAC-SHA1: How to do it properly in Java?
最佳答案
此处记录了与 bcrypt 一起使用的 BSD 库函数。
https://man.openbsd.org/crypt_newhash.3
使用 crypt_newhash() 生成哈希值或使用 crypt_checkpass() 比较哈希值和密码。
它们是简单的函数。如果您无法让它们工作,您需要 C 教程,而不是这里的问题。
同样,比较你想要的字符串strncmp()。这些是标准且有据可查的函数。
关于c - 如何在 C 中创建 bcrypt 哈希并存储它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52883960/
我是一名优秀的程序员,十分优秀!