LogoLogo
NHN커머스 메인고도몰 운영 도움말
  • 고도몰 튜닝 가이드
    • Intro
    • 이해하기
      • 용어
      • 구조
        • 튜닝 진행 방법
        • 튜닝 가능 범위
        • 고도몰 아키텍쳐(Architecture)
        • 코딩 규칙
        • 네이밍 규칙
    • 준비하기
      • 심화 구조 이해
        • Routing 소개
        • Controller 소개
        • HTTP 소개
        • Database 소개
        • Security 소개
        • Exception 소개
        • Language 소개
      • 오픈 API 사용가이드
        • 인증키 발급 방법 안내
        • 공급사 이용 방법 안내
    • 튜닝하기
      • 소스 코드 튜닝
        • 기본 튜닝 방법
        • 컨트롤러 튜닝 방법
        • 템플릿 튜닝 방법
        • 튜닝 시 유의사항
      • 데이터베이스 튜닝
        • 튜닝 방법
        • 튜닝 시 유의사항
        • 고도몰 테이블 명세서
        • PhpMyAdmin 이용
      • 디버깅 방법
      • 패치 확인 및 대응 방법
    • 튜닝 따라하기
      • 관리자 GNB 색상 변경하기
      • 즐겨찾기 메뉴 바로가기 만들기
      • 관리자 메뉴 추가하기
      • 관리자 메뉴 수정하기
      • 관리자 페이지 추가하기
      • 관리자 페이지 수정하기
      • 사용자 페이지 추가하기
      • 사용자 페이지 수정하기
    • 잘못된 튜닝사례
      • 상속 미준수
      • 메소드 관련
      • 그 외
  • 기타 개발 가이드
    • 로그 사용 가이드
    • [PMA] 내보내기(export) 이용 안내
    • 외부 스크립트 사용 가이드
    • SDK 사용 가이드
    • [DB] 사용 가이드
  • 튜닝가이드 영상 보기
Powered by GitBook
LogoLogo

NHN COMMERCE

  • 공지사항
  • 회사소개

Partners

  • 서비스 제휴문의
  • 셀러어드민
  • 디자인 파트너

Developers

  • 스토어

©NHN COMMERCE Corp. All rights reserved.

On this page
  • 📌 Encryptor
  • Encrypt
  • Encrypt with salt string
  • Decrypt
  • Decrypt with salt string
  • MySQL AES 호환
  • 📌 Password
  • Hashing
  • Verifying
  • Re-Hashing

Was this helpful?

  1. 고도몰 튜닝 가이드
  2. 준비하기
  3. 심화 구조 이해

Security 소개

고도몰의 Security 를 소개하는 내용입니다.

📌 Encryptor

대칭 키 암호화 알고리즘인 RIJNDAEL 256(레인달 256)을 이용하여 정보를 보호할수 있고, BCRYPT HASH를 이용해 패스워드를 관리할 수 있습니다.

Encrypt

$encrypted = Encryptor::encrypt('value');

Encrypt with salt string

$encrypted = Encryptor::encrypt('value', 'some salt string');

Decrypt

$decrypted = Encryptor::decrypt('value');

Decrypt with salt string

$decrypted = Encryptor::decrypt('value', 'some salt string');

MySQL AES 호환

MySQL의 AES 함수이 구현되어 있으므로 암호화를 위해 MySQL에 연결하지 않아도 됩니다.

MySQL AES Encrypt

$encrypted = Encryptor::mysqlAesEncrypt('value', 'some encryption key');

MySQL AES Decrypt

$decrypted = Encryptor::mysqlAesDecrypt('value', 'some encryption key');

📌 Password

Hashing

$hash = Password::hash('somepassword');

Verifying

$result = Password::verify('somepassword', $hash);

Re-Hashing

// cost 12
$hash = Password::hash('somepassword', ['cost' => 12]);

// 이후에 cost 가 바뀌거나, hash 알고리즘이 바뀐 경우 (검증은 정상적으로 됨)
if (Password::needsRehash($hash, ['cost' => 20])) {
    $hash = Password::hash('somepassword', ['cost' => 20]);
    // save...
}
PreviousDatabase 소개NextException 소개

Last updated 1 year ago

Was this helpful?