다음을 통해 공유


ConvertTo-SecureString

암호화된 표준 문자열을 보안 문자열로 변환합니다. 일반 텍스트를 보안 문자열로 변환할 수도 있습니다. ConvertFrom-SecureString 및 읽기 호스트와 함께 사용됩니다.

구문

ConvertTo-SecureString
              [-String] <String>
              [[-SecureKey] <SecureString>]
              [<CommonParameters>]
ConvertTo-SecureString
              [-String] <String>
              [-AsPlainText]
              [-Force]
              [<CommonParameters>]
ConvertTo-SecureString
              [-String] <String>
              [-Key <Byte[]>]
              [<CommonParameters>]

Description

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

변환되는 표준 문자열이 지정된 키를 사용하여 ConvertFrom-SecureString 암호화된 경우 ConvertTo-SecureString cmdlet의 Key 또는 SecureKey 매개 변수 값으로 해당 키를 제공해야 합니다.

예제

예제 1: 보안 문자열을 암호화된 문자열로 변환

PS C:\> $Secure = Read-Host -AsSecureString
PS C:\> $Secure
System.Security.SecureString PS C:\> $Encrypted = ConvertFrom-SecureString -SecureString $Secure
PS C:\> $Encrypted
01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abdae9800000000002000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7
efa79820000000004800000a000000010000000f10cd0f4a99a8d5814d94e0687d7430b100000008bf11f1960158405b2779613e9352c6d14000000e6b7bf46a9d485ff211b9b2a2df3bd
6eb67aae41 PS C:\> $Secure2 = ConvertTo-SecureString -String $Encrypted
PS C:\> $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 변수의 암호화된 표준 문자열을 다시 보안 문자열로 변환합니다. 결과를 $Secure 2 변수에 저장합니다. 여섯 번째 명령은 $Secure 2 변수의 값을 표시합니다. SecureString 형식은 명령이 성공했음을 나타냅니다.

예제 2: 파일의 암호화된 문자열에서 보안 문자열 만들기

PS C:\> $Secure = Read-Host -AsSecureString
PS C:\> $Encrypted = ConvertFrom-SecureString -SecureString $Secure -Key (1..16)
PS C:\> $Encrypted | Set-Content Encrypted.txt
PS C:\> $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은 지정된 키를 사용하여 보안 문자열로 변환합니다. 결과는 $Secure 2 변수에 저장됩니다.

예제 3: 일반 텍스트 문자열을 보안 문자열로 변환

PS C:\> $Secure_String_Pwd = ConvertTo-SecureString "P@ssW0rD!" -AsPlainText -Force

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

매개 변수

-AsPlainText

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

형식:SwitchParameter
Position:1
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Force

AsPlainText 매개 변수를 사용할 때의 의미를 이해하고 계속 사용하려는지 확인합니다.

형식:SwitchParameter
Position:2
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Key

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

형식:Byte[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SecureKey

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

형식:SecureString
Position:1
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-String

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

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

입력

String

표준 암호화된 문자열을 convertTo-SecureString파이프할 수 있습니다.

출력

SecureString

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