PowerShell에서 보안 문자열을 일반 텍스트로 변환

Rohan Timalsina 2023년6월21일
  1. PowerShell에서 Marshal 클래스를 사용하여 보안 문자열을 일반 텍스트로 변환
  2. ConvertFrom-SecureString Cmdlet을 사용하여 PowerShell에서 보안 문자열을 일반 텍스트로 변환
  3. NetworkCredential 클래스를 사용하여 PowerShell에서 보안 문자열을 일반 텍스트로 변환
PowerShell에서 보안 문자열을 일반 텍스트로 변환

보안 문자열의 텍스트는 PowerShell의 메모리에서 암호화됩니다. 가역 암호화를 사용하므로 필요할 때 다시 일반 텍스트 문자열로 변환할 수 있습니다.

ConvertTo-SecureString cmdlet은 일반 텍스트 또는 암호화된 문자열을 보안 문자열로 변환합니다. 이 자습서에서는 PowerShell에서 보안 문자열을 일반 텍스트로 변환하는 방법을 알려줍니다.

PowerShell에서 Marshal 클래스를 사용하여 보안 문자열을 일반 텍스트로 변환

다음 명령은 일반 텍스트 문자열 P0w3rsh311을 보안 문자열로 변환하고 $securePassword 변수에 저장합니다.

$securePassword = ConvertTo-SecureString "P0w3rsh311" -AsPlainText -Force

다음 예제에서는 .NET Framework의 Marshal 클래스를 사용하여 보안 문자열을 일반 텍스트로 변환합니다.

[System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($securePassword))

출력:

P0w3rsh311

ConvertFrom-SecureString Cmdlet을 사용하여 PowerShell에서 보안 문자열을 일반 텍스트로 변환

ConvertFrom-SecureString cmdlet은 보안 문자열을 암호화된 표준 문자열로 변환합니다. PowerShell 7.0부터 보안 문자열을 일반 텍스트 문자열로 변환하는 새 매개변수 -AsPlainText가 추가되었습니다.

다음 예제에는 PowerShell 버전 7.0 이상이 필요합니다.

ConvertFrom-SecureString -SecureString $securePassword -AsPlainText

출력:

P0w3rsh311

NetworkCredential 클래스를 사용하여 PowerShell에서 보안 문자열을 일반 텍스트로 변환

NetworkCredential 클래스를 사용하여 PowerShell에서 보안 문자열을 일반 텍스트로 변환할 수도 있습니다.

다음 명령은 사용자에게 비밀번호를 입력하고 $securePassword 변수에 보안 문자열로 저장하도록 요청합니다.

$securePassword = Read-Host "Enter password: " -AsSecureString

출력:

Enter password: **********

다음 예제에서는 보안 문자열을 출력으로 일반 텍스트 문자열로 변환합니다.

[System.Net.NetworkCredential]::new("", $securePassword).Password

출력:

P0w3rsh311

이 문서가 PowerShell에서 보안 문자열을 일반 텍스트로 변환하는 다양한 방법을 이해하는 데 도움이 되었기를 바랍니다.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

관련 문장 - PowerShell String