개발도구 뉴스
파일 시스템 안전성을 높인 Base84 인코딩 방식
Base84 deserves a place in file names
Hacker News파일 암호화 도구인 터보크립트가 운영체제 간 호환성 문제를 해결하기 위해 기존의 Base91 인코딩 방식을 Base84로 변경했습니다.
세 줄 요약
- Base84는 윈도우, macOS, 리눅스 등 주요 파일 시스템에서 모두 안전한 84개의 문자를 사용하며, 특히 점(.)과 특수문자 제거를 통해 안정성을 극대화했습니다.
- 이 변화 덕분에 암호화된 파일명은 운영체제 제약 없이 사용할 수 있게 되었으며, Base64 대비 낮은 평균 확장률(25.2%)을 보여 효율성도 확보했습니다.
- Base84로 생성되는 이름은 사람이 직접 입력하는 것이 아닌, 소프트웨어 간 데이터 전송 및 원격 저장을 위한 '불투명한' 식별자입니다.
파일 암호화 도구인 TurboCrypt는 운영체제 간 호환성 문제를 해결하기 위해 기존의 Base91 인코딩 방식을 Base84로 변경했습니다. 초기에는 Unix 시스템을 위해 설계되었으나, 윈도우 지원 과정에서 유닉스 파일시스템 안전 문자 중 일부가 금지되는 문제가 발생하여 이와 같은 변화를 거치게 되었습니다.
Base84는 리눅스, macOS, 윈도우 등 주요 운영체제의 파일 시스템 제약 조건을 모두 만족하도록 설계된 인코딩 방식입니다. 특히 점(.)과 윈도우가 금지하는 특수문자들을 제거하여, 암호화된 이름이 어떤 환경에서도 안전하게 사용될 수 있도록 안정성을 확보했습니다.
기술적인 측면에서 Base84는 효율적인 비트 패킹을 통해 데이터를 인코딩하며, 평균 확장률은 Base64의 33.3% 대비 25.2%로 낮은 효율성을 보여줍니다. 또한, 이 방식은 구조적 특성 덕분에 운영체제가 예약한 장치 이름(예: CON, NUL)으로 해석되는 것을 원천적으로 방지하는 효과도 가집니다.