ConvertFrom-SecureString
보안 문자열을 암호화된 표준 문자열로 변환합니다.
구문
Secure (기본값)
ConvertFrom-SecureString
[-SecureString] <SecureString>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
Open
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-Key <Byte[]>]
[<CommonParameters>]
Description
ConvertFrom-SecureString cmdlet은 보안 문자열(System.Security.SecureString)을 암호화된 표준 문자열(System.String)으로 변환합니다. 보안 문자열과 달리 암호화된 표준 문자열은 나중에 사용하기 위해 파일에 저장할 수 있습니다. 암호화된 표준 문자열은 ConvertTo-SecureString cmdlet을 사용하여 보안 문자열 형식으로 다시 변환할 수 있습니다.
키 또는 SecureKey 매개 변수를 사용하여 암호화 키를 지정하는 경우 AES(Advanced Encryption Standard) 암호화 알고리즘이 사용됩니다. AES 암호화 알고리즘에서 지원하는 키 길이이므로 지정된 키의 길이는 128, 192 또는 256비트여야 합니다. 키가 지정되지 않은 경우 Windows DPAPI(Data Protection API)를 사용하여 표준 문자열 표현을 암호화합니다.
예제
예제 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 변수의 키를 사용하여 보안 문자열을 암호화된 표준 문자열로 변환합니다.
매개 변수
-Key
암호화 키를 바이트 배열로 지정합니다.
매개 변수 속성
| 형식: | Byte[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
Open
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-SecureKey
암호화 키를 보안 문자열로 지정합니다. 보안 문자열 값은 키로 사용되기 전에 바이트 배열로 변환됩니다.
매개 변수 속성
| 형식: | SecureString |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
Secure
| Position: | 1 |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-SecureString
암호화된 표준 문자열로 변환할 보안 문자열을 지정합니다.
매개 변수 속성
| 형식: | SecureString |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
SecureString
SecureString 개체를 이 cmdlet으로 파이프할 수 있습니다.
출력
String
이 cmdlet은 생성된 일반 텍스트 문자열을 반환합니다.
참고
- 명령 프롬프트에 입력된 문자에서 보안 문자열을 만들려면 cmdlet의
Read-Host매개 변수를 사용합니다. - 키 또는 SecureKey 매개 변수를 사용하여 키를 지정하는 경우 키 길이가 정확해야 합니다. 예를 들어 128비트의 키를 16진수의 바이트 배열로 지정할 수 있습니다. 마찬가지로 192비트 및 256비트 키는 각각 24 및 32 소수 숫자의 바이트 배열에 해당합니다.
- 이모티콘과 같은 일부 문자는 해당 문자가 포함된 문자열의 여러 코드 포인트에 해당합니다. 이러한 문자는 암호에 사용될 때 문제 및 오해를 일으킬 수 있으므로 사용하지 마세요.