Можно ли расшифровать строку на C#, зашифрованную с помощью PowerShell, и как?
Строка шифруется с помощью PowerShell, как показано ниже:
$pw = read-host "Enter Password" –AsSecureString
ConvertFrom-SecureString $pw | out-file "C:\file.txt"
Чтобы преобразовать его обратно с помощью PowerShell, я могу использовать эти команды, которые вызывают класс C # System.Runtime.InteropServices.Marshal
.
$pwdSec = Get-Content "C:\file.txt" | ConvertTo-SecureString
$bPswd = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pwdSec)
$pswd = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($bPswd)
Файл содержит строку, преобразованную в зашифрованный стандарт string("hello")
.
Итак, если открыть файл file.txt
, он будет выглядеть примерно так:
01000000d08c9ddf0115d1118c7a00c04fc297eb0100000052ded6c2db80e748933432e19b9de8b10000
000002000000000003660000c00000001000000016dc35885d76d07bab289eb9927cfc1e000000000480
0000a0000000100000003106cde553f45b08d13d89d11336170b280000005cc865c1ee1b57e84ed3d1a2
d3f2d0ec0f189b532e61c18d1f31444d6f119a1e8368477fd2d81f54140000000cb0262e58b08ae14f37
22c14c69684841b6b21c