K
KRYFT Problem Bank
보안 어려움 코딩

비밀번호 해싱 시스템

안전한 비밀번호 저장 시스템을 설계하고 구현하세요

45분
150점
120개 테스트케이스
#3677

문제 설명

안전한 비밀번호 해싱 시스템을 구현하세요.

요구사항

  1. 해싱 알고리즘: bcrypt, scrypt, 또는 Argon2
  2. Salt 처리: 각 비밀번호에 고유한 salt
  3. Work Factor: 적절한 비용 계수 설정
  4. 검증: 타이밍 공격 방지

구현할 함수

def hash_password(password):
    # 해싱된 비밀번호 반환
    pass

def verify_password(password, hashed):
    # 일치 여부 반환
    pass

보안 고려사항

  • 평문 비밀번호 메모리 즉시 삭제
  • 로그에 비밀번호 기록 금지
  • 비밀번호 정책 검증

예제 테스트케이스

예제 1
입력
93
572 -507 -151 373 992 74 812 -353 748 -338 -495 11 698 584 305 572 266 -42 58 764 -910 -130 751 -305 807 402 -803 55 327 -684 -679 -60 -108 942 -662 -489 -84 -162 377 -262 831 706 -470 926 -561 994 999 776 305 717 -817 -742 -308 347 -543 445 553 926 -787 659 -872 22 997 180 578 -623 -804 618 -705 -736 787 -114 404 -879 -656 955 -304 816 497 -44 -404 -537 -83 916 894 -211 346 736 -497 615 296 -770 632
출력
10272
예제 2
입력
62
-365 235 -395 669 40 746 -712 -365 -769 -215 -406 -779 559 -407 -470 -473 390 864 562 191 -793 24 -897 -773 -709 -898 -916 520 -801 -823 -253 -164 -661 604 92 -120 898 -387 -418 -403 119 -59 231 -546 697 -241 715 -98 568 -393 -71 -561 -126 710 -577 764 -980 -256 814 568 738 626
출력
-5336
예제 3
입력
81
-815 271 -908 -392 124 11 -187 66 -468 14 -778 251 8 425 619 -112 515 683 911 950 452 735 -61 -9 -86 735 39 -860 978 -568 -142 -195 -209 -20 -420 -740 -523 188 624 803 -70 222 -51 612 -609 616 181 411 827 -161 954 -985 -403 96 243 -292 -393 -629 -96 -877 508 317 -223 628 892 -646 581 -565 -655 449 269 -691 449 847 -937 -471 354 -192 -970 780 -742
출력
1487

힌트

실행 버튼을 눌러 코드를 실행하세요.