Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes
És mentse el egy fájlba későbbi felhasználásra. Miért is? Legalábbis annak érdekében, hogy ne adja meg a jelszót minden alkalommal meg a kezét. Inkább egy CSV-fájlt. És kívánatos, hogy titkosítja a jelszót erős titkosítási algoritmus. A kezdéshez tartsa meg felhasználónevét és jelszavát a megfelelő mezőkben az objektum példány PSCredential.
Tekintsük többféleképpen be adatokat:
- A párbeszédablak:
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (jelszó) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-bd4c4159.png)
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (hogy) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-9ce3a0c1.png)
$ Name = Read-Host -Prompt 'felhasználónév'
$ Pass = Read-Host -Prompt 'jelszó' -AsSecureString
$ Cred = Új-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $ name, $ menetben
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (hogy) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-9122df24.png)
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (pscredential) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-e5c56feb.png)
$ Name = 'myname' # felhasználónév
$ Pass = ConvertTo-SecureString -String 'mypass' -AsPlainText -Force # jelszó
$ Cred = Új-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $ name, $ menetben
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (Automation PSCredential -ArgumentList) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-8d39d4ba.png)
Ügyeljen arra, hogy a termelés a konzol objektum tulajdonságai: felhasználónév - myname, jelszó - System.Security.SecureString.
Úgy tűnik, a jelszóval védett.
Adatok küldése egy CSV-fájl tárolására.
$ Name = 'myname' # felhasználónév
$ Pass = ConvertTo-SecureString -String 'mypass' -AsPlainText -Force # jelszó
$ Cred = Új-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $ name, $ menetben
New-Object -TypeName PSObject -property @<`
'Username' = $ cred.UserName; `
'Jelszó' = (ConvertFrom-SecureString $ cred.Password) `
> | Export-CSV -path "$ env: USERPROFILE / cred.csv" -encoding UTF8 -NoTypeInformation Fűzze hozzá
Futtatni a kódot egy-két alkalommal.
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (Automation PSCredential -ArgumentList) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-c94a17b2.png)
Olvassa el a tartalmát a CSV-fájlt.
$ CsvPath = "$ env: USERPROFILE / cred.csv"
if (Test-Path $ csvPath) Import-CSV -path $ csvPath | Foreach-Object
>
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (Automation PSCredential -ArgumentList) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-6ed17d4d.png)
Úgy tűnik, mindenki a karácsonyfa - a jelszó titkosított.
Át az adatokat CSV-fájlt egy PSCredential objektum példány, miért objektumok létrehozásához használ kivitelező, és próbálja átalakítani az ingatlan jelszó minden objektum egy húr.
$ CsvPath = "$ env: USERPROFILE / cred.csv"
if (Test-Path $ csvPath) Import-CSV -path $ csvPath | Foreach-Object New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $ _. Felhasználónév, (ConvertTo-SecureString $ _. Jelszó) `
) .Password.ToString ()>
>
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (hogy) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-d42c01ce.png)
Különös, de a módszer toString () van.
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (hogy) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-cec2021d.png)
Most figyeljen, nézd meg a kezét.
$ CsvPath = "$ env: USERPROFILE / cred.csv"
if (Test-Path $ csvPath) Import-CSV -path $ csvPath | Foreach-Object New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $ _. Felhasználónév, (ConvertTo-SecureString $ _. Jelszó) `
) .GetNetworkCredential (). Password>
>
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (hogy) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-f4832ab1.png)
Következtetés - A jelszó oly módon, hogy biztonságos.
„Mit tehetünk?” - engem kérdezel.
Megjegyzés: a transzformációs parancsmagot biztonságos string [System.Security.SecureString] titkosított string [System.String] - ConvertFrom-SecureString.
Ez az, amit már használt a folyamat előkészítése a jelszót export CSV fájlba.
'Jelszó' = (ConvertFrom-SecureString $ cred.Password)
Cmdlet kínál nekünk egy pár lehetőséget titkosításra: Kulcs és SecureKey.
Azt javasoljuk, hogy használja az egyik legfontosabb byte tömb, amely 16, 24 vagy 32 (alapértelmezett) elemek - 128, 192 vagy 256-bites kulcsot, ill.
Megjegyzik minden elemét a tömb - problémás.
Egyszerűsített: levelet funkció, amely megkapja a 4. szám (például a PIN-kódot - legalábbis akkor emlékszem), és adja vissza egy tömbben bájt egy adott hosszúságú.
funkció Get-Key [CmdletBinding ()]
param (
[Parameter (Kötelező = $ Igaz, Position = 0, HelpMessage = "Négy pin-kód szimbólum")]
[Byte []] $ pin,
[Paraméter (pozíció = 1, HelpMessage = "kulcs hossza - 16, 24 vagy 32 bájt")]
[Int] $ LEN = 32
)
Írja-Verbose $ pin.Length
if ($ pin.Length -ne 4) Írja-Error "Number PIN-kód karakterek egyenlőnek kell lennie 4"
>
if (($ len -ne 16) -és ($ len -ne 24) -és ($ len -ne 32)) Write-Error "A kulcs hossza legyen 16, 24 vagy 32 bájt"
>
$ Len = $ len / 4
[Byte []] $ kulcs = @ ()
A ($ i = 0; $ i -lt $ len; $ i ++) for ($ j = 0; $ j -lt $ pin.Length; $ j ++) $ kulcs + = $ pin [$ j]
>
>
Write-Output $ kulcs
>
(Get-Key 1,2,3,8 -verbose) -join ""
Egy egyszerű algoritmus sikertelen, akkor kell (kellene) navayal saját - hogyan képzelet lehetővé teszi.
Tesztelés funkciót.
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (Automation PSCredential -ArgumentList) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-a0821a80.png)
Írj egy új script: adatokat exportálni CSV fájlba titkosítják a jelszó algoritmust, AES, majd néhány másodperc után próbál olvasni.
funkció Get-Key [CmdletBinding ()]
param (
[Parameter (Kötelező = $ Igaz, Position = 0, HelpMessage = "Négy pin-kód szimbólum")]
[Byte []] $ pin,
[Paraméter (pozíció = 1, HelpMessage = "kulcs hossza - 16, 24 vagy 32 bájt")]
[Int] $ LEN = 32
)
if ($ pin.Length -ne 4) Írja-Error "Number PIN-kód karakterek egyenlőnek kell lennie 4"
>
if (($ len -ne 16) -és ($ len -ne 24) -és ($ len -ne 32)) Write-Error "A kulcs hossza legyen 16, 24 vagy 32 bájt"
>
$ Len = $ len / 4
[Byte []] $ kulcs = @ ()
A ($ i = 0; $ i -lt $ len; $ i ++) for ($ j = 0; $ j -lt $ pin.Length; $ j ++) $ kulcs + = $ pin [$ j]
>
>
Write-Output $ kulcs
>
$ Kulcs = Get-Key 1,2,3,8
$ Name = 'myname' # felhasználónév
$ Pass = ConvertTo-SecureString -String 'mypass' -AsPlainText -Force # jelszó
$ Cred = Új-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $ name, $ menetben
New-Object -TypeName PSObject -property @<`
'Username' = $ cred.UserName; `
'Jelszó' = (ConvertFrom-SecureString -SecureString $ cred.Password gombos $ kulcs) `
> | Export-CSV -path "$ csvPath" -encoding UTF8 -NoTypeInformation Fűzze hozzá
Start-Sleep -Seconds 2
if (Test-Path $ csvPath) Import-CSV -path $ csvPath | Foreach-Object New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $ _. Felhasználónév, (ConvertTo-SecureString $ _. Jelszó gombos $ kulcs) `
) .GetNetworkCredential (). Password>
>
Úgy tűnik, jól.
Megváltoztatjuk a „PIN” és indítsa újra a szkriptet.
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (hogy) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-6cb1a2a0.png)
Nyilvánvaló: a titkosított jelszó először (egy másik kulcs), akkor nem lehet beszerezni.
Vissza fogunk térni az eredeti értelmét „PIN”, és végül, hogy megbizonyosodjon arról, hogy minden működik rendeltetésszerűen, A script a harmadik alkalommal.
![Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes (pscredential) Hogyan juthat a jelszót pscredential, vr-line - ingyenes e-zine az összes](https://images-on-off.com/images/150/kakpoluchitparolizpscredentialvronlinebe-d825426d.png)
Az eredmény - az első és a harmadik jelszó, a második - a hiba, hogy nem volt szükség.
SIM viszlát. Az egész világ.
Ui Véleményem szerint a megoldás szinte minden feladatot, beleértve a törés kriptográfiai algoritmus - idő kérdése és a költségvetést.