ConvertFrom-SecureString
Konwertuje bezpieczny ciąg na zaszyfrowany ciąg standardowy.
Składnia
ConvertFrom-SecureString
[-SecureString] <SecureString>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-Key <Byte[]>]
[<CommonParameters>]
Opis
Polecenie ConvertFrom-SecureString
cmdlet konwertuje bezpieczny ciąg (System.Security.SecureString) na zaszyfrowany ciąg standardowy (System.String). W przeciwieństwie do bezpiecznego ciągu zaszyfrowany ciąg standardowy można zapisać w pliku do późniejszego użycia. Zaszyfrowany ciąg standardowy można przekonwertować z powrotem na bezpieczny format ciągu przy użyciu ConvertTo-SecureString
polecenia cmdlet .
Jeśli klucz szyfrowania jest określony przy użyciu parametrów Key lub SecureKey , używany jest algorytm szyfrowania Advanced Encryption Standard (AES). Określony klucz musi mieć długość 128, 192 lub 256 bitów, ponieważ są to długości kluczy obsługiwane przez algorytm szyfrowania AES. Jeśli nie określono żadnego klucza, interfejs API ochrony danych systemu Windows (DPAPI) jest używany do szyfrowania standardowej reprezentacji ciągu.
Przykłady
Przykład 1. Tworzenie bezpiecznego ciągu
$SecureString = Read-Host -AsSecureString
To polecenie tworzy bezpieczny ciąg z znaków wpisanych w wierszu polecenia. Po wprowadzeniu polecenia wpisz ciąg, który chcesz przechowywać jako bezpieczny ciąg. Gwiazdka (*
) jest wyświetlana w celu reprezentowania każdego wpisanego znaku.
Przykład 2. Konwertowanie bezpiecznego ciągu na zaszyfrowany ciąg standardowy
$StandardString = ConvertFrom-SecureString $SecureString
To polecenie konwertuje bezpieczny ciąg w zmiennej $SecureString
na zaszyfrowany ciąg standardowy. Wynikowy zaszyfrowany ciąg standardowy jest przechowywany w zmiennej $StandardString
.
Przykład 3: Konwertowanie bezpiecznego ciągu na zaszyfrowany ciąg standardowy przy użyciu klucza 192-bitowego
$Key = (3,4,2,3,56,34,254,222,1,1,2,23,42,54,33,233,1,34,2,7,6,5,35,43)
$StandardString = ConvertFrom-SecureString $SecureString -Key $Key
Te polecenia używają algorytmu Advanced Encryption Standard (AES), aby przekonwertować bezpieczny ciąg przechowywany w $SecureString
zmiennej na zaszyfrowany ciąg standardowy z kluczem 192-bitowym. Wynikowy zaszyfrowany ciąg standardowy jest przechowywany w zmiennej $StandardString
.
Pierwsze polecenie przechowuje klucz w zmiennej $Key
. Klucz jest tablicą 24 liczb dziesiętnych, z których każda musi być mniejsza niż 256, aby zmieścić się w jednym niepodpisanym bajtie.
Ponieważ każda liczba dziesiętna reprezentuje jeden bajt (8 bitów), klucz ma 24 cyfry w sumie 192 bitów (8 x 24). Jest to prawidłowa długość klucza dla algorytmu AES.
Drugie polecenie używa klucza w zmiennej $Key
, aby przekonwertować bezpieczny ciąg na zaszyfrowany ciąg standardowy.
Parametry
-Key
Określa klucz szyfrowania jako tablicę bajtów.
Typ: | Byte[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SecureKey
Określa klucz szyfrowania jako bezpieczny ciąg. Wartość bezpiecznego ciągu jest konwertowana na tablicę bajtów przed użyciem jako klucza.
Typ: | SecureString |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SecureString
Określa bezpieczny ciąg do konwersji na zaszyfrowany ciąg standardowy.
Typ: | SecureString |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Do tego polecenia cmdlet można przekazać obiekt SecureString .
Dane wyjściowe
To polecenie cmdlet zwraca utworzony ciąg zwykłego tekstu.
Uwagi
- Aby utworzyć bezpieczny ciąg na podstawie znaków wpisanych w wierszu polecenia, użyj parametru AsSecureString polecenia
Read-Host
cmdlet. - Jeśli używasz parametrów Klucz lub SecureKey do określenia klucza, długość klucza musi być poprawna. Na przykład klucz 128 bitów można określić jako tablicę bajtów 16 liczb dziesiętnych. Podobnie klucze 192-bitowe i 256-bitowe odpowiadają tablicom bajtów 24 i 32 liczb dziesiętnych, odpowiednio.
- Niektóre znaki, takie jak emotikony, odpowiadają kilku punktom kodu w ciągu zawierającym je. Unikaj używania tych znaków, ponieważ mogą powodować problemy i nieporozumienia, gdy są używane w haśle.