- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
因此 .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/
如何在 PHP 中生成 CRC-8 校验和? 最佳答案 function crcnifull ($dato, $byte) { static $PolyFull=0x8c; for ($i=0
我正在编写代码来使用 32 位无符号整数计算 CRC16。当尝试打印执行 CRC 操作的 XOR 函数的返回值时,它总是打印 0。我尝试了各种调试方法,例如打印语句,但是,我似乎无法弄清楚! 这是我的
ThinkPHP3.2.3验证码显示、刷新、校验 ,具体如下: 显示验证码 首先在Home/Controller下创建一个公共控制器PublicController
我想将自定义验证绑定(bind)到 TimePicker 自定义控件,但下面的代码显示“无法将内容添加到 TimePicker 的对象类型。”。
目录 Spring 校验(validator,JSR-303)实现 什么是JSR-303规范 与Spring MVC结合 实体类添加
导包和配置 导入 JSR 303 的包、hibernate valid 的包 ?
我是一名优秀的程序员,十分优秀!