단축URL 만드는 기본적인 원리
단축URL을 만드는 목적엔 여러가지가 있지만 QR코드를 사용하기 위해서도 많이 사용됩니다.
유튜브의 주소도 끝을 보면 단축URL처럼 코드로 되어 있지요
만드는 기본만 알면 되는데 원리는 간단하고 다음과 같습니다.
이것만 알면 나머지는 뚝닥뚝닥 만들면 되기 때문입니다.
1) 우리는 DB에 넣을때 고유한 번호의 숫자를 레코드 관리를 위해 넣어줍니다. 보통 id란 컬럼을 사용
2) 이 숫자는 10진수 인데 이걸 62진수 같은것으로 만듭니다. 이게 우리가 보는 단축URL 코드
3) 단축URL 사이트는 짧을 수록 좋기 때문에 짧은 도메인 생성
4) QR코드 라이브러리 활용해서 QR코드 만들면 됩니다.
/**
* ID 난독화
*
* @param int $iId
* @return string
*/
function shorturl_encode_hashids(int $iId ): string
{
// ID에 salt를 섞어서 어렵게
$sSalt = 'sale_2341_abcd_4sdf2ad2';
$iMixed = $iId * 985123653 + crc32($sSalt);
return shorturl_encode_base62($iMixed);
}
여기서 핵심은 10진수를 62진수로 만들고 반대로 62진수를 10진수로 만들어 사용하면 됩니다.
그리고 단순 증가 방식은 누군가 어떤 단축 URL 등록되어 있는지 확인하기 위해서 1씩 증가시키는 방법을 사용할 수 있기 때문에 아래와 같은 방법을 사용하기도 합니다.
