Rails 中的 SHA1 哈希

发布于 2024-10-27 08:57:04 字数 243 浏览 2 评论 0原文

我有包含以下字段的数据库:idq_idtextsession 等,并且我已经有 2 条记录那里。我想用 SHA1 算法对每一行进行哈希处理(当然每一行都是唯一的)。我尝试过这个:

@w = Digest::SHA1.hexdigest(id+q_id+text+session)

但它不起作用。

I have database with following fields: id, q_id, text, session etc. and I have already 2 records there. I want to hash each line with SHA1 alghoritm (every line is unique of course). I tried this:

@w = Digest::SHA1.hexdigest(id+q_id+text+session)

but it doesn't work.

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

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

发布评论

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

评论(1

情丝乱 2024-11-03 08:57:04

SHA 不是加密,而是创建加密哈希。如果这仍然是您想要做的,我的猜测是 idq_id 是 Fixnum,需要转换为字符串。

@w = Digest::SHA1.hexdigest(ans.id.to_s + ans.q_id.to_s + ans.text + ans.session)

我也有点喜欢使用字符串文字,因为它使我们非常明显地处理一个字符串

@w = Digest::SHA1.hexdigest("#{id}#{q_id}#{text}#{session}")

SHA is not encryption but rather it creates a cryptographic hash. If that is still what you want to do, my guess is that id and q_id are Fixnums and needs to be converted to strings.

@w = Digest::SHA1.hexdigest(ans.id.to_s + ans.q_id.to_s + ans.text + ans.session)

I also kind of like to use String literals because it makes it very obvious that we are dealing with a string

@w = Digest::SHA1.hexdigest("#{id}#{q_id}#{text}#{session}")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文