Windows 10 如何在文件上下文菜单中添加哈希选项?

随心笔谈2年前发布 admin
176 0 0

文章摘要

### 文章内容总结 这篇文章详细介绍了如何在Windows 8和Windows 10系统中为所有用户添加或删除文件的哈希上下文菜单。以下是对文章的简要总结: 1. **哈希值概述**: - 哈希值用于验证文件内容的唯一性和完整性。 - 哈希值基于文件内容计算,单次更改即可导致哈希值变化。 - 哈希值通过哈希算法(如SHA1、SHA256等)计算,提供密码安全的文件验证。 2. **哈希值的应用**: - 使用PowerShell的`Get-FileHash` cmdlet计算文件的哈希值。 - 哈希值帮助确定文件是否被修改,确保数据完整性。 3. **哈希上下文菜单**: - 右键点击文件,选择“哈希”并选择哈希算法显示哈希值。 - 支持多种哈希算法,如SHA1、SHA256、RIPEMD160等。 4. **注册表编辑**: - 通过注册表编辑器在[HKEY_CLASSES_ROOT*shellhash]中配置哈希选项。 - 创建或修改注册表条目,指定命令和MUIVerb,以实现哈希值的显示和计算。 5. **操作步骤**: - 复制注册表值,复制并保存为REG文件(修改后缀为.txt)。 - 使用注册表编辑器导入并编辑文件,添加或删除哈希选项。 6. **删除哈希选项**: - 通过类似步骤编辑注册表,移除特定哈希条目,恢复默认状态。 7. **注意事项**: - 注意注册表路径和权限,避免误删或损坏系统。 - 实践操作时确保每一步正确,避免系统问题。 8. **扩展知识**: - 简要介绍了哈希算法的差异和推荐使用(如Keccac)。 - 提供了PowerShell命令详细说明和实际应用建议。 总结:文章通过示例和注册表操作,指导用户在Windows系统中添加或删除哈希选项,确保文件哈希值的高效验证。实践操作是关键,建议用户结合实际场景进行操作。

哈希上下文菜单使用 PowerShell 中的本机 Get-FileHash cmdlet 通过使用指定的哈希算法来计算文件的哈希值。哈希值是对应于文件内容的唯一值。哈希不是通过文件名,扩展名或其他名称来标识文件的内容,而是为文件的内容分配唯一的值。可以更改文件名和扩展名,而无需更改文件内容,也无需更改哈希值。同样,可以在不更改名称或扩展名的情况下更改文件的内容。但是,即使更改文件内容中的单个字符,也会更改文件的哈希值。

哈希值的目的是提供一种密码安全的方式来验证文件的内容是否已更改。尽管不再认为某些哈希算法(包括 MD5 和 SHA1)可以抵御攻击,但是安全哈希算法的目标是使无法更改文件的内容(无论是偶然,恶意或未经授权的尝试)以及保持相同的哈希值。您还可以使用哈希值来确定两个不同文件的内容是否完全相同。如果两个文件的哈希值相同,则文件的内容也相同。

哈希上下文菜单使您可以快速查看文件的 SHA1,SHA256,SHA384,SHA512,MACTripleDES,MD5 和 RIPEMD160 哈希值(校验和)。

本教程将向您展示如何在 Windows 8 和 Windows 10 中为所有用户向所有文件的上下文菜单添加或删除哈希。

哈希上下文菜单用法:

 

选择一个或多个您要查看其哈希值的文件。
右键单击或按住所选文件。
在上下文菜单中单击/点击哈希。
单击/点按 SHA1,SHA256,SHA384,SHA512,MACTripleDES,MD5,RIPEMD160 或“显示全部”,以查看所选文件的哈希值(校验和)。
现在将为每个选定的文件打开一个 PowerShell 窗口,向您显示其哈希值。

将哈希添加到文件的上下文菜单:

 

复制以下注册表值,新建空白文本粘贴并保存。修改 .txt 后缀为 .reg 格式,然后双击导入注册表。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\hash]
“MUIVerb”=“Hash”
“SubCommands”=“”

; SHA1
[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu]
“MUIVerb”=“SHA1”

[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu\command]
@=“powershell -noexit get-filehash -literalpath ‘%1’ -algorithm SHA1 | format-list”

; SHA256
[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu]
“MUIVerb”=“SHA256”

[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu\command]
@=“powershell -noexit get-filehash -literalpath ‘%1’ -algorithm SHA256 | format-list”

; SHA384
[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu]
“MUIVerb”=“SHA384”

[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu\command]
@=“powershell -noexit get-filehash -literalpath ‘%1’ -algorithm SHA384 | format-list”

; SHA512
[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu]
“MUIVerb”=“SHA512”

[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu\command]
@=“powershell -noexit get-filehash -literalpath ‘%1’ -algorithm SHA512 | format-list”

; MACTripleDES
[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu]
“MUIVerb”=“MACTripleDES”

[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu\command]
@=“powershell -noexit get-filehash -literalpath ‘%1’ -algorithm MACTripleDES | format-list”

; MD5
[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu]
“MUIVerb”=“MD5”

[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu\command]
@=“powershell -noexit get-filehash -literalpath ‘%1’ -algorithm MD5 | format-list”

; RIPEMD160
[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu]
“MUIVerb”=“RIPEMD160”

[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu\command]
@=“powershell -noexit get-filehash -literalpath ‘%1’ -algorithm RIPEMD160 | format-list”

; Allget-filehash -literalpath ‘%1’ -algorithm RIPEMD160 | format-list
[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu]
“CommandFlags”=dword:00000020
“MUIVerb”=“显示全部”

[HKEY_CLASSES_ROOT\*\shell\hash\shellmenu\command]
@=“powershell -noexit get-filehash -literalpath ‘%1’ -algorithm SHA1 | format-list;get-filehash -literalpath ‘%1’ -algorithm SHA256 | format-list;get-filehash -literalpath ‘%1’ -algorithm SHA384 | format-list;get-filehash -literalpath ‘%1’ -algorithm SHA512 | format-list;get-filehash -literalpath ‘%1’ -algorithm MACTripleDES | format-list;get-filehash -literalpath ‘%1’ -algorithm MD5 | format-list;get-filehash -literalpath ‘%1’ -algorithm RIPEMD160 | format-list”

将哈希从文件的上下文菜单删除:

 

如果您不想保留 Hash 菜单选项,您可以通过复制以下注册表值,新建空白文本粘贴并保存。修改 .txt 后缀为 .reg 格式,然后双击导入注册表以进行删除自定义的 Hash 菜单。

1
2
3
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\hash]

© 版权声明

相关文章