如何检查补丁/软件下载的完整性? [视频] (文档 ID 2016783.1)

适用于:

Oracle Database - Standard Edition - 版本 8.1.7.4 和更高版本
Oracle Database - Enterprise Edition - 版本 8.1.7.4 和更高版本
本文档所含信息适用于所有平台




目标

什么是 MD5 校验码?
什么是 SHA-1 校验码?
如何检查下载的补丁/软件的 MD5 和 SHA-1 校验码?

 

注意:本文档可用于从 MyOracleSupport 下载的所有补丁。

解决方案


MD5 代表消息摘要算法5。MD5 算法可对任意长度的消息(输入)生成一个 128-bit 的"指纹"或者"消息摘要"(输出)。 通过比较文件下载源的 MD5sum 和下载后的 MD5sum,下载的完整性得以检验。

SHA 代表安全散列算法。总共有5种 SHA 算法,分别表示为 SHA-1,SHA-224,SHA-256,SHA-384 和 SHA-512。SHA-1 与 MD5 一样,是另外一种用来校验数据完整性的算法。这两种算法的主要区别为 MD5 采用 128bit 来生成消息摘要而 SHA-1 采用 160bit。

当从 OTN 下载 Oracle 软件或者从 Metalink 下载补丁时,确保文件在下载的过程中没有损坏是非常重要的,这可以通过比较 MD5 并且/或者 SHA-1 校验码的方式来达到目的,参见如下视频:


 Video - Verifying a good download from MOS (02:14) 

---------------------------------------------------------------------------------------------------

下载后的文件应当与下载源的 SHA-1 和 MD5 校验码匹配,就像上面的视频一样。如果它们不匹配,那么需要重新下载文件。

也可以通过 OTN 上提供的'cksum'命令来计算文件的校验码。

例如在 Linux 上可以用如下命令:

/usr/bin/cksum <file_name>

注意:

Solaris 不附带安装 md5sum。
对于 Solaris 8 和 9:
md5sum,sha1sum 工具被包含在 GUN 包'coreutils'中,可在 www.sunfreeware.com 下载。
对于 Solaris 10:
必须安装'digest'包。

在 Solaris 10 上计算 MD5 和 SHA-1 的校验码:

digest 工具可用来通过指定的算法来计算文件或者 stdin 的消息摘要。

MD5:

$ digest -v -a md5 <complete_path_of_file_name>

SHA-1:

$/usr/bin/digest -v -a sha1<complete_path_of_file_name> 

在这里 file_name 指的是下载后的文件的完整路径。

在 Solaris 10 上计算 MD5 和 SHA-1 校验码的例子:

MD5:
$ digest -v -a md5 /home/myuser/test_file1 

md5 /home/myuser/test_file = d41d8cd98f00b204e9800998ecf8427e

SHA-1:
$/usr/bin/digest -v -a sha1 /home/myuser/test_file3

sha1 (/home/myuser/test_file3) = da39a3ee5e6b4b0d3255bfef95601890afd80709

在 Linux 上计算 MD5 和 SHA-1 的校验码:

命令如下:

MD5:

$md5sum <complete_path_of_file_name>

SHA-1:

$ sha1sum <complete_path_of_file_name>

在这里 file_name 指的是下载后的文件的完整路径。

在 Linux 上计算 MD5 和 SHA-1 校验码的例子:

MD5:
$md5sum /home/myuser/test_file2

d41d8cd98f00b204e9800998ecf8427e /home/myuser/test_file2 

SHA-1:
$ sha1sum /home/myuser/test_file4

da39a3ee5e6b4b0d3255bfef95601890afd80709 /home/myuser/test_file4

在 AIX 上计算 MD5 和 SHA-1 的校验码:

命令如下

MD5:

$ csum <filename>

SHA-1:

$ csum -h SHA1 <filename>

在这里 file_name 指的是下载后的文件的完整路径。

在 AIX 上计算 MD5 和 SHA-1 校验码的例子:

MD5:
$ csum p8202632_10205_AIX64-5L_1of2.zip

1b58a3f5478fbdf9c660fcce5f9558cb  p8202632_10205_AIX64-5L_1of2.zip

SHA-1:
$ csum -h SHA1 p8202632_10205_AIX64-5L_1of2.zip

be78759fe031cd3a59b8490ee1d27b1ca321dd8f  p8202632_10205_AIX64-5L_1of2.zip

在 HPUX(PA-RISC 和 Itanium)上计算 MD5 和 SHA-1 的校验码:

命令如下

MD5:

$ openssl dgst -md5 <filename>

SHA-1:

$ openssl dgst -sha1 <filename>

在这里 file_name 指的是下载后的文件的完整路径。

在 HPUX(PA-RISC 或 Itanium)上计算 MD5 和 SHA-1 校验码的例子:

MD5:
$ openssl dgst -md5 oracle.aurora.javadoc.zip

MD5(oracle.aurora.javadoc.zip)= fc75f35af0d389cc0a7a1dd959ccb706

SHA-1:
$ openssl dgst -sha1 oracle.aurora.javadoc.zip

SHA1(oracle.aurora.javadoc.zip)= c8cbb951fc3905a545f139fd7f59bb07ebab136b

在 Windows 上计算 MD5 和 SHA-1 的校验码:

微软提供了一个名叫文件校验码完整性确认(File Checksum Integrity Verifier)的工具,可从 Microsoft Technet 知识库编号 841290 下载。
这个工具可用于 Windows 平台来校验下载的文件的完整性。
语法为:

        fciv.exe  -both  <downloaded_filename>

例如,如下是从 My Oracle Support(MOS)上下载的一个补丁:

fciv  -both    p2617419_10102_GENERIC.zip 
// 
// File Checksum Integrity Verifier version 2.05. 
// 
MD5                                                     SHA-1 
------------------------------------------------------------------------- 
64f18de4aa1a41894cf08cddc1cd1dbc 276c2c529324744021f279d84cbb46c189896390

p2617419_10102_generic.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值