如何在PowerShell中将字符串转换为流对象?

7

我希望将一个字符串转换为流,例如使用 Get-FileHash 命令(使用其 -InputStream 参数)。

我需要这样做的原因是要处理一个字符串,而不是文件内容。我不想临时将该字符串存储在文件中以便处理它。

我知道可以使用一些 .NET 对象完成这个任务,在 Powershell 中这很容易实现,但我只是好奇是否存在一个现有的 PS 命令或命令组合,可以将一个字符串对象转换为流,以便我可以执行以下操作(假设假想的 Convert 将字符串转换为流):

Get-FileHash -InputStream (Convert "Quick brown fox jumps over the lazy dog.") -Algorithm SHA512

2
Get-FileHash -InputStream ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes("Quick brown fox jumps over the lazy dog."))) -Algorithm SHA512 - user4003407
1
请将其作为答案,因为它应该是正确的! - Armen Michaeli
2个回答

12

您可以使用一些 .NET 函数:

$stream = [IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes("Quick brown fox jumps over the lazy dog."))
Get-FileHash -InputStream $stream -Algorithm SHA512

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接