gpt4 book ai didi

ruby - ruby gem 内的校验和有什么意义

转载 作者:数据小太阳 更新时间:2023-10-29 07:58:12 27 4
gpt4 key购买 nike

因此 .gem 文件是包含 data.gz metadata.gz 和校验和的 tarball。在取消存档 data.gz 之前验证校验和,但我不明白这一点。它似乎没有提供任何真正的安全优势

最佳答案

通常您只需运行gem install somegemfilename 但如果您出于某种原因选择从https://rubygems.org/gems/ 下载gem那么您可能希望对该文件手动运行校验和。

例子

下载类似 https://rubygems.org/downloads/foo-0.0.2.gem 的文件然后在您的终端中转到下载文件的位置并运行:

sha256sum foo-0.0.2.gem
# it should output the same checksum shown at https://rubygems.org/gems/foo
=> 523009a5b977f79c8eaa79b521e416f26482bc4fbbcc04bd08580696e303a715

仅此一项就足够安全了。然而,这些似乎是额外的安全层,以确保每个由 tar xf somegem.gem 解压的 gz 文件都可以根据 checksums.yaml 的内容单独检查提供了几个变体校验和。

简短的回答是您不需要担心它们,但如果您想深入到那个级别,它们就在您身边。

根据@NikitaMisharin 的评论更新:

是的,我理解您的观点并且倾向于同意您的观点。它看起来像是非常古老的遗留 Ruby 代码并在 this commit 中引入。 .

commit 9ac0e9149295f356f3aee2e6a7c3a4e22d0a904e
Author: Chad Fowler <chad@chadfowler.com>
Date: Sun Nov 23 01:53:27 2003 +0000

Generate MD5 checksum for gem and store it in the file. Will be used to validate gem file before installation.


git-svn-id: svn+ssh://rubyforge.org/var/svn/rubygems/trunk@66 3d4018f9-ac1a-0410-99e9-8a154d859a19

我倾向于得出结论,这是一种检查代码完整性的原始方法,自从使用将在 Rubygems.org 上发布的校验和以来,它已经发展。 ,标准的 gem 存储库。

我想这可能是遗留下来的遗留支持?但我想如果你真的想确定,也许问Chad Fowler

也许更多背景信息read this documentation直接链接到 rubygems.org security section

关于ruby - ruby gem 内的校验和有什么意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58063580/

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