Differences

This shows you the differences between the selected revisions of the page.

2023-12-27 2024-01-02 (current)
making the code compatible with .net [core] and powershell [core] (martin) run much faster in pwsh with non-generic queue (martin)
Line 3: Line 3:
The following PowerShell script can be used to decrypt files [[file_encryption|encrypted by WinSCP]], when you do not have WinSCP available. The following PowerShell script can be used to decrypt files [[file_encryption|encrypted by WinSCP]], when you do not have WinSCP available.
-//The script works both in legacy Windows PowerShell and modern PowerShell [Core], though it runs much slower in the latter.//+//The script works both in legacy Windows PowerShell and modern PowerShell [Core], though it runs slower in the latter.//
//For C# version of the ''AesCtrTransform'' function, see [[https://stackoverflow.com/q/6374437/850848#51188472|Can I use AES in CTR mode in .NET?]]// //For C# version of the ''AesCtrTransform'' function, see [[https://stackoverflow.com/q/6374437/850848#51188472|Can I use AES in CTR mode in .NET?]]//
Line 26: Line 26:
    $counter = $salt.Clone()     $counter = $salt.Clone()
-    $xorMask = New-Object System.Collections.Generic.Queue[byte]+    # Particularly in pwsh, it runs much faster with non-generic Queue 
 +····$xorMask = New-Object System.Collections.Queue
    $zeroIv = New-Object byte[] $blockSize     $zeroIv = New-Object byte[] $blockSize

Last modified: by martin