Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Perl MD5摘要转换并创建为PowerShell_C#_.net_Perl_Powershell - Fatal编程技术网

C# 将Perl MD5摘要转换并创建为PowerShell

C# 将Perl MD5摘要转换并创建为PowerShell,c#,.net,perl,powershell,C#,.net,Perl,Powershell,我正试图用Perl将以下内容转换为PowerShell,但我仍停留在MD5摘要和创建上 timestamp=1283473470 key='this-is-my-key' secret='secret' perl -e "use Digest::MD5 qw(md5 md5_hex); print md5_hex('$key' . '$secret' . $timestamp);" 出于测试目的,我将时间戳设置为静态数字。这样我就可以比较Perl和PowerShell所说的内容。我已经尝试了

我正试图用Perl将以下内容转换为PowerShell,但我仍停留在MD5摘要和创建上

timestamp=1283473470
key='this-is-my-key'
secret='secret'
perl -e  "use Digest::MD5 qw(md5 md5_hex); print md5_hex('$key' . '$secret' . $timestamp);"
出于测试目的,我将时间戳设置为静态数字。这样我就可以比较Perl和PowerShell所说的内容。我已经尝试了一些MD5和[System.Security.Cryptography.HashAlgorithm]的尝试,但到目前为止,我只不过是把自己弄糊涂了

在Perl中

> perl -e  "use Digest::MD5 qw(md5 md5_hex); print md5_hex('this-is-my-key' . 'secret' . '1283473470');"
> a135923fb8e579463f312b69528d243c
在PowerShell中

>_ 'this-is-my-key.secret.1283473470' | Get-Hash


Algorithm: MD5


Path       :
HashString : 04BF4CA4BF3E34C83F0B11970205580D

中有一个
Get-Hash
cmdlet。试试看

PS> 'this-is-my-key.secret.1283473470' | Get-Hash


Algorithm: MD5


Path       :
HashString : 04BF4CA4BF3E34C83F0B11970205580D
或者,如果字符串需要解释为ASCII:

PS> $foo = 'THIS-is-my-keysecret1283473470'
PS> $foo.ToLower() | Get-Hash -StringEncoding ascii


Algorithm: MD5


Path       :
HashString : A135923FB8E579463F312B69528D243C

中有一个
Get-Hash
cmdlet。试试看

PS> 'this-is-my-key.secret.1283473470' | Get-Hash


Algorithm: MD5


Path       :
HashString : 04BF4CA4BF3E34C83F0B11970205580D
或者,如果字符串需要解释为ASCII:

PS> $foo = 'THIS-is-my-keysecret1283473470'
PS> $foo.ToLower() | Get-Hash -StringEncoding ascii


Algorithm: MD5


Path       :
HashString : A135923FB8E579463F312B69528D243C

好的,这在很大程度上是由于基思·希尔的方向。 请注意,在本例中,我发现最好在任何地方指定[string],这或多或少只是基于一致性,只需要在其中两行中指定

[string]$timestamp=1283473470
[string]$key='this-is-my-key'
[string]$secret='secret'
[string]$string=$key+$secret+$timestamp
[string]$CAPhash=$string | Get-Hash -StringEncoding ascii
[string]$hash=$CAPhash.ToLower()
$hash

我不确定是否有办法将最后两行合并为一行。目前我对我所拥有的感到满意。

好吧,这在很大程度上是由于基思·希尔的指导。 请注意,在本例中,我发现最好在任何地方指定[string],这或多或少只是基于一致性,只需要在其中两行中指定

[string]$timestamp=1283473470
[string]$key='this-is-my-key'
[string]$secret='secret'
[string]$string=$key+$secret+$timestamp
[string]$CAPhash=$string | Get-Hash -StringEncoding ascii
[string]$hash=$CAPhash.ToLower()
$hash

我不确定是否有办法将最后两行合并为一行。目前,我对我所拥有的感到满意。

lol我在get hash上扔了各种各样的东西,但我从来没有想到要用管道将字符串传递给它。现在就试试,该死!我很有希望。他们不匹配。Perl给出:a135923fb8e579463f312b69528d243cWhat执行Perl点语法
'str'str'
在这里做什么?看起来他们在做联合收割机。因此命令应该是:“this-is-my-keysecret1283473470”| Get Hash-StringEncoding ascihmm。。似乎无法通过管道变量获取哈希。。。看起来我还必须转换成小写。哈哈,我在get hash上抛出了各种各样的东西,但我从来没有想过要用管道将字符串传递给它。现在就试试,该死!我很有希望。他们不匹配。Perl给出:a135923fb8e579463f312b69528d243cWhat执行Perl点语法
'str'str'
在这里做什么?看起来他们在做联合收割机。因此命令应该是:“this-is-my-keysecret1283473470”| Get Hash-StringEncoding ascihmm。。似乎无法通过管道变量获取哈希。。。看起来我还需要转换成小写。几乎每次我必须回答这个问题时,问题是此人在每种情况下提供不同的字符串。几乎每次我必须回答这个问题时,问题是此人在每种情况下提供不同的字符串。