PowerShell 에서 암호 혼동 예제 구현

PowerShell 3.0 또는 더 높 은 버 전에 적용,
비록 우 리 는 비밀 번 호 를 스 크 립 트 파일 에 하 드 인 코딩 하 는 것 을 추천 하지 않 지만,여전히 일부 장면 은 그렇지 않 으 면 안 된다.비밀 번 호 를 순수한 텍스트 로 하 드 코딩 하 는 것 보다 비밀 번 호 를 헷 갈 리 게 하 는 데 조금 더 신경 을 쓸 수 있다.비밀 번 호 를 혼동 하 는 것 은 매우 저급한 보호 방식 이지 만 PowerShell 을 모 르 는 사람 에 게 는 신비 로 운 일이 다.
다음 스 크 립 트 는 사용자 에 게 사용자 이름과 비밀 번 호 를 묻 고 헷 갈 리 는 스 크 립 트 를 통 해 처리 하여 사용자 증빙 대상 을 만 듭 니 다.
아래 스 크 립 트 를 실행 한 후 사용자 증 거 는$cred 에 저장 되 었 습 니 다.다음은 CCredential 인 자 를 가 진 모든 명령 에서 사용 할 수 있 습 니 다.

$cred = Get-Credential -Message 'Enter Domain\Username and Password'
$pwd = $cred.Password
$user = $cred.UserName
$key = 1..32 | ForEach-Object { Get-Random -Maximum 256 }
$pwdencrypted = $pwd | ConvertFrom-SecureString -Key $key
 
$private:ofs = ' '
 
$generatedScript = @()
$generatedScript += '$password = ''{0}''' -f $pwdencrypted
$generatedScript += '$key = ''{0}''' -f "$key "
 
$generatedScript += '$passwordSecure = ConvertTo-SecureString -String $password -Key ([Byte[]]$key.Split('' ''))'
$generatedScript += '$cred = New-Object system.Management.Automation.PSCredential(''{0}'', $passwordSecure)' -f $user
$generatedScript += '$cred'
 
$file = $psise.CurrentPowerShellTab.Files.Add()
$file.Editor.Text = $generatedScript | Out-String
$file.Editor.SetCaretPosition(1,1)
생 성 된 암 호 는 다음 과 같 을 수 있 습 니 다:

$password = '76492d1116743f0423413b16050a5345MgB8AHMAUQA3AFAAVwB0AGkAUQBUAC8AdwBqADYAUABVAFYAUwB4AEYAYgB4AFEAPQA9AHwAZgA0ADgAOQA4AGYANwA0AGEAMAA0ADUANwA5ADkAMwA5ADkAMwA1ADUANQA0AGYANwA5AGQANwBkAGYAOQBmAGEAYQA3ADMAYgBkADIAOQA3AGMAYQBmADUAMgA3ADEANwA3AGEAYgBmADAAYgA1AGYAYwAyADYAYgAzADkAOAA='
$key = '187 98 34 82 148 52 13 86 246 2 130 197 217 97 147 98 75 197 149 246 74 35 27 7 211 15 131 93 182 231 171 3'
$passwordSecure = ConvertTo-SecureString -String $password -Key ([Byte[]]$key.Split(' '))
$cred = New-Object system.Management.Automation.PSCredential('mickey\mouse', $passwordSecure)
$cred

좋은 웹페이지 즐겨찾기