중요한 것은 비밀번호를 길게 유지하고 쉽게 추측할 수 없도록하는 것입니다. 안전한 비밀번호를 만드는 방법을 알 수 있지만, 그것을 위한 작은 스크립트가 있으면 좋지 않을까요? 운이 좋은 것은 Windows에서 PowerShell을 사용하여 다양한 길이와 복잡성의 랜덤 비밀번호 생성기를 만들 수 있다는 것입니다.
자체 랜덤 비밀번호 생성기를 만드는 대신에, Microsoft가 이미 제공하는 기존 방법을 사용하세요. 그것은 GeneratePassword()
.NET 메소드라고 불리며, System.Web.Security.Membership
클래스와 함께 제공됩니다. 이 메소드는 필요한 모든 작업을 수행할 것입니다.
스크립트 만들기
이 간단한 스크립트를 만들려면 먼저 System.Web
어셈블리를 사용할 수 있어야 합니다. System.Web.Security.Membership
클래스는 이 어셈블리의 일부이며 기본적으로 사용할 수 없습니다.
System.Web
어셈블리를 사용할 수 있게 되면 GeneratePassword()
메소드를 호출할 수 있습니다.
GeneratePassword()
메소드에는 두 개의 인수, 즉 length
와 numberOfNonAlphanumericCharacters
가 있습니다. 이 두 인수를 사용하면 PowerShell로 다양한 종류의 랜덤 비밀번호를 생성할 수 있습니다.
- 길이 – 이것은 비밀번호의 문자 길이입니다.
- numberOfNonAlphanumericCharacters – 이것은 메소드가 생성할 비알파벳 문자의 수입니다. 예를 들어 @,%,& 등의 문자를 생각하십시오.
먼저, 원하는 비밀번호의 길이를 정의하세요. 아래 예제는 10을 변수로 설정하고 이를 메서드에 전달합니다.
다음으로, 비밀번호에 포함하고 싶은 비알파벳 문자의 수를 정의하세요. 아래 코드 스니펫은 5를 변수로 설정하여 메서드에 제공하여 비밀번호에 5개의 비알파벳 문자가 포함되도록합니다.
다음은 위에서 정의한 두 변수의 값을 전달하여 GeneratePassword()
메서드를 호출할 때입니다.
위의 코드 스니펫을 실행하면 PowerShell이 문자열의 무작위 조합을 반환하여 원하는 곳에 사용할 수 있습니다.
무작위 비밀번호 길이 만들기
비밀번호 길이를 무작위로 만들어 더 무작위하게 만들 수도 있습니다. Get-Random
cmdlet을 사용하여 무작위 정수를 생성한 다음 이를 length
인수로 사용하여 무작위 길이의 비밀번호를 생성할 수도 있습니다!
이 비밀번호를 PowerShell에서 사용할 예정이라면 많은 구성 요소에서 안전한 문자열이 필요합니다. 일단 비밀번호를 일반 텍스트 문자열로 얻은 후 ConvertTo-SecureString
cmdlet을 사용하여 안전한 문자열로 변환할 수 있습니다.
PowerShell 함수 만들기
마지막으로, 위에서 설명한 모든 구문을 기억하지 않고도 어디서든 사용할 수 있는 함수를 생성하여 이 무작위 비밀번호 생성기를 더욱 향상시키세요.
이 기능을 프로필에 추가한 후에는, PowerShell 모듈을 사용하거나 현재 세션에 복사/붙여넣기하여 간단히 실행할 수 있습니다.
Source:
https://adamtheautomator.com/random-password-generator/