ConvertFrom-SecureString
보안 문자열을 암호화된 표준 문자열로 변환합니다.
구문
ConvertFrom-SecureString
[-SecureString] <SecureString>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-AsPlainText]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-Key <Byte[]>]
[<CommonParameters>]
Description
이 cmdlet은 ConvertFrom-SecureString
보안 문자열(System.Security.SecureString)을 암호화된 표준 문자열(System.String)로 변환합니다. 보안 문자열과 달리 암호화된 표준 문자열은 나중에 사용하기 위해 파일에 저장할 수 있습니다. 암호화된 표준 문자열은 cmdlet을 사용하여 ConvertTo-SecureString
보안 문자열 형식으로 다시 변환할 수 있습니다.
키 또는 SecureKey 매개 변수를 사용하여 암호화 키를 지정하는 경우 AES(Advanced Encryption Standard) 암호화 알고리즘이 사용됩니다. AES 암호화 알고리즘에서 지원하는 키 길이이므로 지정된 키의 길이는 128, 192 또는 256비트여야 합니다. 키가 지정되지 않은 경우 Windows DPAPI(Data Protection API)를 사용하여 표준 문자열 표현을 암호화합니다.
참고 항목
DotNet당 SecureString의 콘텐츠는 비 Windows 시스템에서 암호화되지 않습니다.
예제
예제 1: 보안 문자열 만들기
$SecureString = Read-Host -AsSecureString
이 명령은 명령 프롬프트에 입력하는 문자로부터 보안 문자열을 만듭니다. 명령을 입력한 후 저장하려는 문자열을 보안 문자열로 입력합니다. 입력한 각 문자를 나타내기 위해 별표(*
)가 표시됩니다.
예제 2: 보안 문자열을 암호화된 표준 문자열로 변환
$StandardString = ConvertFrom-SecureString $SecureString
이 명령은 변수의 보안 문자열을 $SecureString
암호화된 표준 문자열로 변환합니다. 생성된 암호화된 표준 문자열은 변수에 $StandardString
저장됩니다.
예제 3: 보안 문자열을 192비트 키를 사용하여 암호화된 표준 문자열로 변환
$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
이러한 명령은 AES(Advanced Encryption Standard) 알고리즘을 사용하여 변수에 $SecureString
저장된 보안 문자열을 192비트 키가 있는 암호화된 표준 문자열로 변환합니다. 생성된 암호화된 표준 문자열은 변수에 $StandardString
저장됩니다.
첫 번째 명령은 변수에 키를 저장합니다 $Key
. 키는 24개의 소수 자릿수 배열이며, 각각은 부호 없는 단일 바이트 내에 맞도록 256보다 작아야 합니다.
각 10진수는 단일 바이트(8비트)를 나타내므로 키는 총 192비트(8 x 24)에 대해 24자리를 가집니다. 이는 AES 알고리즘에 유효한 키 길이입니다.
두 번째 명령은 변수의 $Key
키를 사용하여 보안 문자열을 암호화된 표준 문자열로 변환합니다.
예제 4: 보안 문자열을 일반 텍스트 문자열로 직접 변환
$secureString = ConvertTo-SecureString -String 'Example' -AsPlainText
$secureString # 'System.Security.SecureString'
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'
매개 변수
-AsPlainText
설정 ConvertFrom-SecureString
되면 보안 문자열을 해독된 일반 텍스트 문자열로 출력으로 변환합니다.
이 매개 변수는 PowerShell 7.0에 추가되었습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Key
암호화 키를 바이트 배열로 지정합니다.
형식: | Byte[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-SecureKey
암호화 키를 보안 문자열로 지정합니다. 보안 문자열 값은 키로 사용되기 전에 바이트 배열로 변환됩니다.
형식: | SecureString |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-SecureString
암호화된 표준 문자열로 변환할 보안 문자열을 지정합니다.
형식: | SecureString |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
입력
SecureString 개체를 이 cmdlet으로 파이프할 수 있습니다.
출력
이 cmdlet은 생성된 일반 텍스트 문자열을 반환합니다.
참고
- 명령 프롬프트에 입력된 문자에서 보안 문자열을 만들려면 cmdlet의 AsSecureString 매개 변수를
Read-Host
사용합니다. - 키 또는 SecureKey 매개 변수를 사용하여 키를 지정하는 경우 키 길이가 올바르야 합니다. 예를 들어 128비트의 키를 16진수의 바이트 배열로 지정할 수 있습니다. 마찬가지로 192비트 및 256비트 키는 각각 24 및 32 소수 숫자의 바이트 배열에 해당합니다.
- 이모티콘과 같은 일부 문자는 해당 문자가 포함된 문자열의 여러 코드 포인트에 해당합니다. 이러한 문자는 암호에 사용될 때 문제 및 오해를 일으킬 수 있으므로 사용하지 마세요.
관련 링크
PowerShell