在PowerShell中使用CreateDecryotor()

在PowerShell中使用CreateDecryotor(),powershell,encryption,Powershell,Encryption,我想知道是否有人能帮我解决我在PowerShell中遇到的一个错误。我对创建如下所示的加密机没有任何问题: $Crypto = New-Object System.Security.Cryptography.RNGCryptoServiceProvider $IV = New-Object System.Byte[] 16 $Crypto.GetNonZeroBytes($iv) $RIJSym = new-Object System.Security.Cryptography.

我想知道是否有人能帮我解决我在PowerShell中遇到的一个错误。我对创建如下所示的加密机没有任何问题:

 $Crypto = New-Object System.Security.Cryptography.RNGCryptoServiceProvider 
 $IV = New-Object System.Byte[] 16 
 $Crypto.GetNonZeroBytes($iv) 

 $RIJSym = new-Object System.Security.Cryptography.RijndaelManaged   

 [byte[]] $Key = ('mysecret$%@').ToCharArray() 
 $Encryptor = $RIJSym.CreateEncryptor($Key,$IV) 
但是,无论出于什么原因,当我想要解密我的密钥时,我都会遇到问题,下面是我使用的内容以及程序运行时出现的错误:

$Decrypted=$RIJSym.CreateDecryptor($Encryptor)

错误消息

 Cannot find an overload for "CreateDecryptor" and the argument count: "1".  
 At line:15 char:1
 + $DeCryp = $rijSym.CreateDecryptor($encryptor)
 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     + CategoryInfo          : NotSpecified: (:) [], MethodException
     + FullyQualifiedErrorId : MethodCountCouldNotFindBest

错误说明了一切
CreateDecryptor()
没有重载,仅使用单个参数。有效的重载是:

PS > $RIJSym.CreateDecryptor

OverloadDefinitions
-------------------
System.Security.Cryptography.ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV)
System.Security.Cryptography.ICryptoTransform CreateDecryptor()
您需要以创建加密程序的相同方式创建解密程序:通过指定密钥和IV.Ex

$Decrypted = $RIJSym.CreateDecryptor($Key, $IV)

错误说明了一切
CreateDecryptor()
没有重载,仅使用单个参数。有效的重载是:

PS > $RIJSym.CreateDecryptor

OverloadDefinitions
-------------------
System.Security.Cryptography.ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV)
System.Security.Cryptography.ICryptoTransform CreateDecryptor()
您需要以创建加密程序的相同方式创建解密程序:通过指定密钥和IV.Ex

$Decrypted = $RIJSym.CreateDecryptor($Key, $IV)

错误说明了一切
CreateDecryptor()
没有重载,仅使用单个参数。有效的重载是:

PS > $RIJSym.CreateDecryptor

OverloadDefinitions
-------------------
System.Security.Cryptography.ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV)
System.Security.Cryptography.ICryptoTransform CreateDecryptor()
您需要以创建加密程序的相同方式创建解密程序:通过指定密钥和IV.Ex

$Decrypted = $RIJSym.CreateDecryptor($Key, $IV)

错误说明了一切
CreateDecryptor()
没有重载,仅使用单个参数。有效的重载是:

PS > $RIJSym.CreateDecryptor

OverloadDefinitions
-------------------
System.Security.Cryptography.ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV)
System.Security.Cryptography.ICryptoTransform CreateDecryptor()
您需要以创建加密程序的相同方式创建解密程序:通过指定密钥和IV.Ex

$Decrypted = $RIJSym.CreateDecryptor($Key, $IV)

什么对象是$RIJSym。它是如何创建的?在调用失败之前,您对它做了什么?CreateDecryptor不接受任何参数。您需要预先定义对象上的键和IV,或者将它们指定给方法。此外,您的代码和错误不匹配。一个说
$Encryptor
(错误),另一个说
$Encrypted
(代码)。@TheMad技术人员抱歉,这是我的错,我正在从两个不同的文件中尝试相同的程序,以查看发生了什么。什么对象是$RIJSym。它是如何创建的?在调用失败之前,您对它做了什么?CreateDecryptor不接受任何参数。您需要预先定义对象上的键和IV,或者将它们指定给方法。此外,您的代码和错误不匹配。一个说
$Encryptor
(错误),另一个说
$Encrypted
(代码)。@TheMad技术人员抱歉,这是我的错,我正在从两个不同的文件中尝试相同的程序,以查看发生了什么。什么对象是$RIJSym。它是如何创建的?在调用失败之前,您对它做了什么?CreateDecryptor不接受任何参数。您需要预先定义对象上的键和IV,或者将它们指定给方法。此外,您的代码和错误不匹配。一个说
$Encryptor
(错误),另一个说
$Encrypted
(代码)。@TheMad技术人员抱歉,这是我的错,我正在从两个不同的文件中尝试相同的程序,以查看发生了什么。什么对象是$RIJSym。它是如何创建的?在调用失败之前,您对它做了什么?CreateDecryptor不接受任何参数。您需要预先定义对象上的键和IV,或者将它们指定给方法。此外,您的代码和错误不匹配。一个说
$Encryptor
(错误),另一个说
$Encrypted
(代码)。@TheMad技术员抱歉,这是我的错。我在两个不同的文件中尝试相同的程序,以查看发生了什么。