0

因此,在 Powershell 中,我试图获取文件的 Ascii 值并将它们除以一个值。我有我想要发生的事情,如下所示,我不知道该怎么做。

$value 是 300 $file 是 $home\test.txt

所以我想要它做的是以 Ascii 代码格式获取文件的内容,所以让我们假设文件说“你好”。当您获得内容时,它将是这样的:

72
101
108
108
111

我真正想要它做的是将所有的 Ascii 值确定,然后将它们放在一行中。所以你好,这是:

72
101
108
108
111

会成为:

72101108108111

然后我将上面显示的数字除以 $value 并将最终结果设置为文件的内容。解密它的唯一方法是将该数字乘以正确的密钥,然后将其再次拆分为正常的 Ascii 格式:

72
101
108
108
111

然后,我希望脚本采用上面显示的值并将它们放入 1 行,这样它就会如下所示:

72101108108111

然后我会把它除以 $value 并得到这个:

240337027027.037

上面显示的内容将是文件设置的内容。现在要解密它,您将获取文件的内容(现在将是 240337027027.037)并将其乘以与之前除以相同的值,如果操作正确,您应该得到:

72101108108111

然后这将被分离成原始的 Ascii 值:

72
101
108
108
111

然后将其再次设置为 -encoding 字节中的文件内容,以获取文件的原始内容。有谁知道如何做到这一点?

4

1 回答 1

0

你能用这样的东西吗?

#Set value (I had to set a lower value because your value was way too large to process with a Int32 (and 64 I think)
$value = 22949672

#Convert (had to multiply because dividing casues to small number to be save correctly(it rounds up and ruins the decoding later)
Get-Content .\test.txt -Encoding Byte | % { $_ * $value } | Set-Content .\test2.txt -Encoding Ascii

#Convert back
Get-Content .\test2.txt -Encoding Ascii | % { [byte]($_ / $value) } | Set-Content .\test3.txt -Encoding Byte
于 2013-09-01T12:25:23.903 回答