고급 기능
사용자 정의 설정
성능 설정
계산 모드
- 표준 모드: 대부분의 시나리오에 적합하며 성능과 정확성의 균형
- 고속 모드: 계산 속도를 최적화하여 대량 데이터 처리에 적합
- 정밀 모드: 최고 정밀도를 보장하여 중요한 데이터 검증에 적합
메모리 관리
- 자동 메모리 정리: 캐시 데이터의 정기적인 정리
- 메모리 제한 설정: 최대 메모리 사용량 설정
- 스트림 처리: 대용량 파일의 청크 처리, 메모리 사용량 감소
출력 설정
사용자 정의 형식
// 사용자 정의 출력 형식 예시
const customFormat = {
prefix: 'MD5:',
separator: ' | ',
suffix: ' [verified]',
case: 'upper',
};
형식 옵션
- 접두사/접미사 추가: 해시 값 앞뒤에 사용자 정의 텍스트 추가
- 구분자 설정: 여러 해시 값 간의 사용자 정의 구분자
- 대소문자 제어: 출력 형식의 대소문자 통일
성능 최적화
병렬 계산
멀티스레드 처리
- Web Workers: 백그라운드 스레드에서 계산
- 배치 병렬 처리: 여러 파일이나 텍스트를 동시에 처리
- 진행률 모니터링: 계산 진행률의 실시간 표시
캐시 메커니즘
- 결과 캐시: 동일한 입력의 계산 결과를 캐시
- 지능형 사전 계산: 사용자의 가능한 입력을 예측
- 캐시 정리: 만료된 캐시의 정기적인 정리
대용량 파일 처리
청크 계산
// 대용량 파일 청크 처리 예시
const processLargeFile = async (file, chunkSize = 1024 * 1024) => {
const hash = crypto.createHash('md5');
for (let offset = 0; offset < file.size; offset += chunkSize) {
const chunk = file.slice(offset, offset + chunkSize);
const buffer = await chunk.arrayBuffer();
hash.update(new Uint8Array(buffer));
}
return hash.digest('hex');
};
스트림 처리
- 읽으면서 계산: 완전한 파일 로딩을 기다리지 않음
- 메모리 최적화: 메모리 사용량 제어
- 진행률 피드백: 처리 진행률의 실시간 표시
확장 기능
해시 값 검증
온라인 검증
- 실시간 쿼리: 온라인 데이터베이스에 연결하여 해시 값 검증
- 악성 파일 감지: 알려진 악성 파일인지 확인
- 중복 파일 식별: 중복 또는 유사 파일 식별
로컬 검증
// 해시 값 검증 예시
const verifyHash = (file, expectedHash) => {
const calculatedHash = calculateMD5(file);
return calculatedHash.toLowerCase() === expectedHash.toLowerCase();
};
해시 값 비교
배치 비교
- 해시 값 대조: 여러 파일의 해시 값 비교
- 차이 분석: 해시 값의 차이 부분 표시
- 유사도 계산: 해시 값의 유사도 계산
시각적 비교
- 차이 하이라이트: 다른 부분을 하이라이트 표시
- 그래픽 표시: 비교 결과를 차트로 표시
- 보고서 내보내기: 상세한 비교 보고서 생성
고급 인코딩 지원
특수 인코딩
- Base64 인코딩: Base64 인코딩된 입력 지원
- URL 인코딩: URL 인코딩된 입력 지원
- HTML 엔티티: HTML 엔티티 인코딩 지원
인코딩 변환
// 인코딩 변환 예시
const convertEncoding = (text, fromEncoding, toEncoding) => {
const buffer = Buffer.from(text, fromEncoding);
return buffer.toString(toEncoding);
};
데이터 내보내기
내보내기 형식
지원 형식
- CSV: 쉼표로 구분된 값 형식
- JSON: JavaScript 객체 표기법
- XML: 확장 가능한 마크업 언어
- TXT: 일반 텍스트 형식
사용자 정의 내보내기
// 사용자 정의 내보내기 형식 예시
const customExport = {
format: 'json',
includeMetadata: true,
timestamp: true,
compression: 'gzip',
};
배치 내보내기
내보내기 옵션
- 선택적 내보내기: 내보낼 데이터 선택
- 형식 변환: 형식 간 변환 지원
- 압축 내보내기: 압축 형식으로 내보내기 지원
통합 기능
API 통합
RESTful API
// API 호출 예시
const apiCall = async (text) => {
const response = await fetch('/api/md5', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ text, encoding: 'utf8' }),
});
return response.json();
};
WebSocket 지원
- 실시간 통신: WebSocket 연결 지원
- 스트림 처리: 처리 결과의 실시간 전송
- 상태 동기화: 처리 상태의 실시간 동기화
서드파티 통합
클라우드 스토리지 통합
- Google Drive: 클라우드 파일 직접 처리
- Dropbox: Dropbox 파일 통합
- OneDrive: OneDrive 파일 지원
개발 도구 통합
- VS Code 플러그인: 에디터 통합
- 명령줄 도구: CLI 도구 지원
- 브라우저 확장: 브라우저 플러그인
보안 기능
데이터 보호
로컬 처리
- 클라이언트 사이드 계산: 모든 계산을 로컬에서 실행
- 데이터 비전송: 민감한 데이터를 서버에 업로드하지 않음
- 개인정보 보호: 사용자의 개인정보 데이터 보호
보안 전송
- HTTPS 암호화: 모든 전송을 암호화
- 데이터 검증: 전송 데이터의 무결성 검증
- 접근 제어: 데이터 접근 권한 제어
마지막 업데이트: 2024년 1월 20일