암호화 링크 공유

브라우저 모드 비밀 공유 도구입니다. 비밀을 입력하면 Web Crypto API를 통해 AES-GCM 256비트로 클라이언트에서 모든 것을 암호화하는 링크가 생성됩니다. 암호화 키는 URL 프래그먼트(# 뒤)에 위치하며, HTTP 사양상 브라우저는 프래그먼트를 네트워크 요청에 포함하지 않으므로 키는 수신자의 브라우저에 머무릅니다. 계정은 필요하지 않습니다. Privnote 스타일 서비스와의 절충점: 이 도구는 브라우저 모드에서 비밀 데이터베이스를 유지하지 않으므로 "한 번 보고 삭제" 규칙을 강제할 수 없습니다 — 링크를 가진 사람은 누구나 시도하는 만큼 복호화할 수 있습니다.

사용 방법

1
비밀 입력

최대 약 4KB 텍스트.

2
(선택) 비밀번호 추가

두 번째 요소.

3
링크 복사

신뢰하는 채널로 전송.

4
수신자가 브라우저에서 복호화

설치도 계정도 필요 없음.

암호화된 링크로 누군가에게 비밀을 보내세요 — 암호화는 브라우저에서 실행되며 계정도 필요 없습니다

0 자 — 약 4KB까지 URL에 편안하게 들어갑니다.
옵션
설정 시 수신자도 입력 필요. 다른 채널(전화, 대면)로 별도 공유.

작동 방식 (그리고 작동하지 않는 것)

  • AES-GCM 256비트 암호화, 브라우저에서 무작위 키 생성.
  • 암호화 키는 URL 프래그먼트(# 뒤)에 위치 — 프래그먼트는 요청에 포함되지 않습니다.
  • 계정 없음, DB 없음, 제3자 서비스 없음: 링크를 가진 누구나 비밀 복호화 가능.
  • 진정한 "일회용" 아님 — 링크 사본을 가진 누구나 원하는 만큼 복호화 가능. "읽고 소각" 표시는 뷰어 브라우저의 로컬 힌트일 뿐.
  • 진정한 일회용 의미는 서버 측 저장과 읽기 후 삭제 필요. 프라이버시/서버 없음을 위해서는 이 도구가 올바른 절충점.

암호화된 비밀 열기

링크 복사됨
무엇을 시도할지 모르시나요?
도구 750+개 — 깜짝 도구 열기
🎲 깜짝 도구

기능

AES-GCM 256비트
업계 표준 인증 암호화.
URL 프래그먼트의 키
256비트 키가 URL의 # 뒤에 위치.
선택적 비밀번호
PBKDF2 600,000 반복으로 위에 추가 계층.
계정 없음, 비밀 데이터베이스 없음
이 도구는 가입이 필요 없으며, 암호문 + 키 + IV가 모두 링크 자체에 담깁니다 — 브라우저 모드 링크에 대한 비밀 데이터베이스는 없습니다. (서버 저장 모드는 첫 조회 시까지 암호화된 블롭을 잠시 저장한 뒤 삭제합니다.)
대면 전달용 QR
암호화된 링크를 QR로 렌더링.
절충점에 대한 정직
솔직히 말씀드립니다: 브라우저 모드 링크는 진정한 "한 번만 보기"가 아닙니다 — 링크를 가진 사람은 누구나 원하는 만큼 복호화할 수 있습니다. 진정한 일회용 삭제 의미가 필요하다면 서버 저장 모드를 사용하세요(암호화된 블롭이 우리 서버에 저장되며 첫 조회 후 삭제됩니다).

FAQ

서버에서 내 비밀을 읽을 수 있나요?

브라우저 모드에서는 — 읽을 수 없습니다. 암호화 키는 URL의 # 뒤에 위치하며, HTTP 사양상 브라우저는 프래그먼트를 네트워크 요청에 포함하지 않으므로 키는 우리 서버에 도달하지 않습니다. 암호화된 블롭은 URL 경로로 도착하므로(표준 nginx 액세스 로그를 통해 서버 로그가 암호문을 잠시 기록할 수 있음) 키 없이는 AES-GCM-256 암호문이며 복호화할 수 없습니다.

Privnote와 어떻게 다른가요?

Privnote는 암호화된 블롭을 데이터베이스에 저장한 후 첫 조회 후 삭제합니다. 브라우저 모드에서 이 도구는 비밀 데이터베이스를 사용하지 않습니다 — 블롭이 URL 자체에 있으므로 "한 번만 보기"를 강제할 수 없습니다. 절충점: 암호화 키는 우리 서버에 도달하지 않지만, 링크는 누군가 가지고 있는 한 재사용 가능합니다. (이 도구의 서버 저장 모드는 Privnote와 더 유사합니다.)

왜 링크가 이렇게 긴가요?

비밀이 그 안에 실려 가기 때문입니다. 주소에는 암호화된 본문과 초기화 벡터, 선택적인 솔트, 그리고 키 자체가 담깁니다. 그래서 링크의 길이는 보내시는 내용의 길이를 따라 자랍니다. 텍스트 4킬로바이트면 링크가 6킬로바이트쯤 되는데, 요즘 브라우저는 모두 그 정도를 감당합니다. 설계도 여기서 따라 나옵니다. 나중에 찾아낼 수 있는 사본이 어디에도 놓여 있지 않고, 같은 이유로 링크를 잃으면 비밀을 되살릴 방법도 없습니다. 실용적인 결과가 둘입니다. 링크는 통째로 보내세요. 두 줄로 끊긴 링크는 다시 이어 붙여도 작동하지 않습니다. 그리고 유난히 긴 링크라면 작은 비밀 두어 개로 나누는 편이 낫습니다.

링크가 이미 암호화되어 있는데 왜 비밀번호까지 거나요?

링크는 비밀이 새지 않는 방식으로 새기 때문입니다. 링크 하나만 있으면 비밀이 열립니다. 그렇게 설계된 것이지요. 그런데 그 링크는 대화 기록에, 전달된 메시지에, 화면 캡처에, 그것을 실어 나른 무언가의 로그에 남습니다. 비밀번호는 다른 길로 가는 두 번째 요소를 더해 줍니다. 링크는 한 통로로 보내고 비밀번호는 전화로 말해 주면, 대화를 읽은 사람도 아무것도 열지 못합니다. 동료가 봐도 상관없는 것이라면 비밀번호를 건너뛰셔도 됩니다. 통로 자체가 약한 고리인 곳에서는 반드시 쓰세요. 그리고 대부분의 통로가 그렇습니다.

링크는 얼마나 작동하나요?

브라우저 모드에서는: URL을 가진 사람이 있는 한입니다. 만료를 강제할 데이터베이스 상태가 없으므로, 모든 수신자 기기에서 삭제되었다고 신뢰할 때까지 공유된 링크를 지속적인 것으로 취급하세요. (서버 저장 모드에서는 명시적 TTL이 적용됩니다 — "만료 시간" 참조.)

진정한 "한 번만 보기" 버전 가능?

예 — 그것이 서버 저장 모드입니다. 읽기 후 삭제 방식의 서버 측 저장을 사용하며, 다른 신뢰 가정을 가집니다(서버를 신뢰해야 함). 브라우저 모드(암호문이 URL에 있음)는 데이터베이스가 없는 옵션으로 함께 제공됩니다.

💡 이 도구를 개선해 드릴까요?

가능합니다! 아이디어를 간단히 보내주세요. 자세히 논의하고 싶으시면 이메일을 남겨주시면 연락드리겠습니다. 익명으로도 가능합니다.

이 도구를 어떻게 평가하시겠습니까?

평가해 주셔서 감사합니다!
더 공유하고 싶으신가요? 댓글을 남겨주세요!
감사합니다! 검토 후 댓글이 표시됩니다.
게시일 제작자: