보통 Unique 한 ID 를 지정하기 위해서 여러 방법을 쓰는데, 그 중 하나가 바로 GUID (또는 UUID) 이다. (모른다면 URL을 참고하자)
하지만 이를 그냥 generate 하였을 때 보통은 길이가 36자 (dash 를 빼도 32자) 가 된다.
평소에는 그냥 써도 되지만, 그렇게 긴 Key 또는 ID 를 보낼 수 없는 경우가 종종 존재한다.
나의 경우에는 Transaction ID 를 GUID 로 만들었는데, 이를 다른 API와 매핑 시킬 때, 36자보다 짧은 길이로 전송해야 했다.
여러 방법을 찾아보다가 GUID String 을 Base64 로 압축하는 방법이 있었다. 하지만 Node.js로 된 코드는 존재하지 않아 공유해본다.
|
|
위와 같은 코드를 이용하면 36자인 GUID 를 22자로 줄일 수 있다.
P.S. Node.js 버전 5.1 부터는 new Buffer() 이 deprecated 된다. 따라서 Buffer.from() 이라는 함수로 바꾸어주어야 한다. 자세한 사항은 Buffer API 를 참고하기 바란다.