Skip to content

AndrewKim-Leekim/PassCodeDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 프로젝트 개요 및 구현 방향 - 비밀번호 보안 시뮬레이터

이 프로젝트는 교육 목적의 데모 애플리케이션으로, 비밀번호의 중요성과 보안 강도를 시각적으로 전달하는 데 초점을 둡니다.
학생들이 비밀번호의 강약에 따라 해커가 얼마나 쉽게 뚫을 수 있는지를 직관적으로 이해할 수 있도록 돕기 위해 만들어졌습니다.


🧠 핵심 아이디어

  1. 비밀번호 강도 측정

    • 입력한 비밀번호에 대해 길이, 특수문자 포함 여부, 대소문자, 숫자 포함 여부 등을 평가해 점수화합니다.
    • 사전 기반 공격 방지를 위해 흔한 비밀번호 리스트(common_passwords.txt)와 비교하는 기능도 포함합니다.
  2. 해킹 시뮬레이션

    • 비밀번호가 약할수록 해커 캐릭터가 빠르게 뚫는 애니메이션을 보여줍니다.
    • 강력한 비밀번호일수록 해커가 시간이 오래 걸리거나 실패하는 연출을 통해 강도 차이를 시각적으로 보여줍니다.
  3. 교육적 피드백 제공

    • 사용자가 입력한 비밀번호에 대해 피드백을 텍스트 및 시각 효과로 제공합니다.
    • 예: "이 비밀번호는 너무 짧아요", "일반적으로 많이 사용되는 단어입니다" 등

🧱 추천 클래스 구성

  • MainFrame.java : 전체 UI 구성 및 입력 처리
  • PasswordStrengthChecker.java : 비밀번호 평가 로직
  • HackerAnimationPanel.java : 시뮬레이션 및 애니메이션 표현
  • DictionaryLoader.java : 사전 파일 로드 및 체크

🛠 NetBeans에서 프로젝트 구조 예시

PassCodeDemo/
├── src/
│   └── passwordsim/
│       ├── Main.java
│       ├── MainFrame.java
│       ├── PasswordStrengthChecker.java
│       ├── HackerAnimationPanel.java
│       └── DictionaryLoader.java
└── resources/
    └── common_passwords.txt

⏱ 애니메이션 구현 제안

  • javax.swing.Timer를 활용하여 해커 캐릭터 이동, 진행바 변화 등을 표현
  • JPanelpaintComponent() 오버라이드로 커스텀 그래픽 가능

이 프로젝트는 보안 교육에 흥미를 더하고, 비밀번호 관리의 중요성을 쉽게 이해시키기 위한 훌륭한 도구가 될 수 있습니다.
추가적인 기능 확장(예: 비밀번호 생성기, 해시 시뮬레이션 등)도 이후 고려 가능합니다.

About

Pass Code Demo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published