암호화된 기본 문자열을 보안 문자열로 변환합니다. 또한 일반 텍스트를 보안 문자열로 변환할 수도 있습니다. 이 cmdlet은 ConvertFrom-SecureString 및 Read-Host와 함께 사용됩니다.

구문

ConvertTo-SecureString [-Key <Byte[]>] [-String] <string> [<CommonParameters>]

ConvertTo-SecureString [-AsPlainText] [-Force] [-String] <string> [<CommonParameters>]

ConvertTo-SecureString [[-SecureKey] <SecureString>] [-String] <string> [<CommonParameters>]

설명

ConvertTo-SecureString cmdlet은 암호화된 기본 문자열을 보안 문자열로 변환합니다. 또한 일반 텍스트를 보안 문자열로 변환할 수도 있습니다. 이 cmdlet은 ConvertFrom-SecureString 및 Read-Host와 함께 사용됩니다. 이 cmdlet으로 생성된 보안 문자열은 SecureString 유형의 매개 변수가 필요한 cmdlet 또는 함수와 함께 사용할 수 있습니다. ConvertFrom-SecureString cmdlet을 사용하여 보안 문자열을 암호화된 기본 문자열로 다시 변환할 수 있습니다. 이렇게 하면 나중에 사용할 수 있도록 파일로 저장할 수 있습니다.

변환할 기본 문자열이 지정된 키를 사용하여 ConvertFrom-SecureString을 통해 암호화된 경우 이 키와 같은 키를 ConvertTo-SecureString cmdlet의 Key 또는 SecureKey 매개 변수 값으로 제공해야 합니다.

매개 변수

-AsPlainText

보안 문자열로 변환할 일반 텍스트 문자열을 지정합니다. 보안 문자열 cmdlet을 사용하면 기밀 텍스트를 보호할 수 있습니다. 이 텍스트는 개인 정보 보호를 위해 암호화되며 사용된 후 컴퓨터 메모리에서 삭제됩니다. 그러나 이 매개 변수를 사용하여 일반 텍스트를 입력으로 제공하면 시스템에서 이러한 방식으로 해당 입력을 보호할 수 없습니다. 이 매개 변수를 사용하려면 Force 매개 변수도 지정해야 합니다.

필수 여부

false

위치

2

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Force

AsPlainText 매개 변수의 영향을 이해하고 그대로 사용할 것임을 확인합니다.

필수 여부

false

위치

3

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Key <Byte[]>

보안 문자열을 암호화된 기본 문자열로 변환할 때 사용할 암호화 키를 지정합니다. 유효한 키 길이는 16, 24 및 32바이트입니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-SecureKey <SecureString>

보안 문자열을 암호화된 기본 문자열로 변환할 때 사용할 암호화 키를 지정합니다. 제공하는 키는 보안 문자열의 형식이어야 합니다. 보안 문자열은 키로 사용되기 전에 바이트 배열로 변환됩니다. 유효한 키 길이는 16, 24 및 32바이트입니다.

필수 여부

false

위치

2

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-String <string>

보안 문자열로 변환할 문자열을 지정합니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByValue)

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

System.String

암호화된 기본 문자열을 ConvertTo-SecureString으로 파이프할 수 있습니다.

출력

System.Security.SecureString

ConvertTo-SecureString은 SecureString 개체를 반환합니다.

예 1

C:\PS>$secure = read-host -assecurestring

C:\PS> $secure
System.Security.SecureString

C:\PS> $encrypted = convertfrom-securestring -securestring $secure
C:\PS> $encrypted
01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abdae9800000000002000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7
efa79820000000004800000a000000010000000f10cd0f4a99a8d5814d94e0687d7430b100000008bf11f1960158405b2779613e9352c6d14000000e6b7bf46a9d485ff211b9b2a2df3bd
6eb67aae41

C:\PS> $secure2 = convertto-securestring -string $encrypted
C:\PS> $secure2
System.Security.SecureString

설명
-----------
이 예에서는 사용자 입력에서 보안 문자열을 만들고 보안 문자열을 암호화된 기본 문자열로 변환한 다음 암호화된 기본 문자열을 보안 문자열로 다시 변환하는 방법을 보여 줍니다.

첫 번째 명령은 Read-Host cmdlet의 AsSecureString 매개 변수를 사용하여 보안 문자열을 만듭니다. 명령을 입력한 후 입력한 모든 문자는 보안 문자열로 변환되고 $secure 변수에 저장됩니다.

두 번째 명령은 $secure 변수의 내용을 표시합니다. $secure 변수는 보안 문자열을 포함하므로 Windows PowerShell에서는 System.Security.SecureString 유형만 표시합니다. 

세 번째 명령은 ConvertFrom-SecureString cmdlet을 사용하여 $secure 변수의 보안 문자열을 암호화된 기본 문자열로 변환합니다. 결과는 $encrypted 변수에 저장됩니다. 네 번째 명령은 암호화된 문자열을 $encrypted 변수의 값에 표시합니다.

다섯 번째 명령은 ConvertTo-SecureString cmdlet을 사용하여 $encrypted 변수의 암호화된 기본 문자열을 보안 문자열로 다시 변환합니다. 결과는 $secure2 변수에 저장됩니다. 여섯 번째 명령은 $secure2 변수의 값을 표시합니다. SecureString 유형은 명령이 성공했음을 나타냅니다.






예 2

C:\PS>$secure = read-host -assecurestring

C:\PS> $encrypted = convertfrom-securestring -secureString $secure -key (1..16)

C:\PS> $encrypted | set-content encrypted.txt

C:\PS> $secure2 = get-content encrypted.txt | convertto-securestring -key (1..16)

설명
-----------
이 예에서는 파일에 저장된 암호화된 기본 문자열에서 보안 문자열을 만드는 방법을 보여 줍니다.

첫 번째 명령은 Read-Host cmdlet의 AsSecureString 매개 변수를 사용하여 보안 문자열을 만듭니다. 명령을 입력한 후 입력한 모든 문자는 보안 문자열로 변환되고 $secure 변수에 저장됩니다. 

두 번째 명령은 지정된 키를 사용하여 ConvertFrom-SecureString cmdlet을 통해 $secure 변수의 보안 문자열을 암호화된 기본 문자열로 변환합니다. 내용은 $encrypted 변수에 저장됩니다.

세 번째 명령은 파이프라인 연산자(|)를 사용하여 $encrypted 변수의 값을 Set-Content cmdlet으로 보냅니다. 해당 값은 Encrypted.txt 파일에 저장됩니다.

네 번째 명령은 Get-Content cmdlet을 사용하여 Encrypted.txt 파일에 있는 암호화된 기본 문자열을 가져옵니다. 이 명령은 파이프라인 연산자를 사용하여 암호화된 문자열을 ConvertTo-SecureString cmdlet으로 보냅니다. 그러면 cmdlet은 지정된 키를 사용하여 암호화된 문자열을 보안 문자열로 변환합니다. 결과는 $secure2 변수에 저장됩니다.






예 3

C:\PS>$secure_string_pwd = convertto-securestring "P@ssW0rD!" -asplaintext -force

설명
-----------
이 명령은 일반 텍스트 문자열 "P@ssW0rD!"를 보안 문자열로 변환하고 결과를 $secure_string_pwd 변수에 저장합니다. AsPlainText 매개 변수를 사용하려면 Force 매개 변수도 명령에 포함되어야 합니다.






참고 항목




목차