【发布时间】:2019-02-05 21:09:36
【问题描述】:
当我的脚本运行时,我读取了一个哈希值,我想将它写入注册表。 我发现下面的命令会做到这一点:
New-ItemProperty $RegPath -Name $AttrName -PropertyType Binary -Value $byteArray
我还找到了How to set a binary registry value (REG_BINARY) with PowerShell?。
但是所有答案都假设字符串的形式为:
"50,33,01,00,00,00,00,00,...."
但我只能以以下形式读取我的哈希:
"F5442930B1778ED31A....."
我不知道,如何将其转换为字节数组,值为 F5、44 等。
【问题讨论】:
-
散列应该是二进制对象吗?我认为它们应该是十六进制数字或字符串...
-
为什么不使用 reg_sz 并存储为字符串?话虽如此,SANS 有 good article 关于字节和十六进制。
-
@vonPryz 这是一个 MS 设置,不幸的是格式不取决于我。
-
@Lee_Dailey 哈希总是二进制的,像这样的工具应该总是让它们以这种格式可用。十六进制只是使数据“人类”可读的一种方式(实际上只是为了不破坏控制字符的控制台)。除了十六进制之外,您通常会在 base64 中看到它用于传输或文本文件存储,这正是我所需要的(我使用此处的答案将其作为字节数组获取,因此我可以将字节数组转换为 base64)
-
@Hashbrown - 啊!我今天学到了一些东西……谢谢! [咧嘴]
标签: powershell registry