홈가이드커플

이름·커플 궁합 도구는 점수를 어떻게 만들까

두 궁합 도구는 사주를 보지 않고, 이름을 해시로 섞거나 생년월일과 혈액형을 점수표에 대어 숫자를 만들어요. 코드를 그대로 돌려 점수가 어떻게 퍼지는지 세어 보고, 결과를 재미로 나누는 방법을 정리했어요.

글쓴이: 도구장이처음 쓴 날 고친 날

사전 속 궁합과 이 사이트의 궁합

국립국어원 표준국어대사전은 궁합을 민속 용어로 풀이해요. 혼인할 남녀의 사주를 오행에 맞추어 보아 부부로서의 좋고 나쁨을 알아보는 점이라는 뜻이에요. 그런데 이 사이트의 두 궁합 도구는 사주도 오행도 쓰지 않아요. 코드를 열어 보면 이름 궁합은 입력한 글자를 숫자로 뒤섞는 계산을 하고, 커플 궁합은 생년월일에서 뽑은 별자리·띠·생명수와 혈액형을 미리 정해 둔 점수표에 대어 봐요.

그래서 이 글은 '궁합이 맞는지'가 아니라 '도구가 숫자를 어떻게 만드는지'를 다뤄요. 두 도구 모두 결과를 정하는 규칙이 코드에 그대로 적혀 있어서, 같은 입력을 넣으면 언제 어느 기기에서든 똑같은 결과가 나와요. 무작위로 고르는 부분도, 날짜나 접속 정보를 섞는 부분도 없어요. 이 성질을 알고 나면 점수를 어떻게 받아들여야 할지도 자연스럽게 정리돼요.

이름 궁합은 글자를 섞는 해시예요

이름 궁합의 중심에는 FNV-1a라는 해시 함수가 있어요. 해시는 글자열을 받아 겉보기에 무작위 같은 큰 수 하나로 바꾸는 계산이에요. 2026년 2월에 나온 RFC 9923은 FNV를 빠르고 퍼짐이 좋은 비암호 해시로 소개하면서 32비트용 시작값을 0x811C9DC5, 곱하는 소수를 16,777,619로 정해 두었는데, 이름 궁합 코드의 두 상수가 바로 이 값이에요. 다만 RFC는 바이트 단위로 섞는 방식을 적었고, 도구는 자바스크립트 문자열의 16비트 단위를 그대로 넣어요. 결과가 다른 FNV 프로그램과 같지 않을 수 있다는 정도의 차이예요.

도구가 이름을 다루는 순서는 이래요. 먼저 두 이름을 NFC로 정규화하고, 공백을 모두 지우고, 영문을 소문자로 바꿔요. 그다음 두 이름을 글자 번호 순서로 정렬해 이어 붙여요. 정렬 덕분에 어느 칸에 누구 이름을 넣든 같은 글자열이 돼요. 이 글자열 앞에 서로 다른 머리글자를 붙여 세 번 해시하고, 각각을 51로 나눈 나머지에 50을 더해 분위기·대화·설렘 점수를 만들어요. 총점은 세 점수의 평균을 반올림한 값이고, 한마디는 또 다른 머리글자로 한 번 더 해시해서 고른 거예요.

입력한 두 이름분위기·대화·설렘총점과 등급
민준 / 서연69 · 77 · 8978점, 좋음
서연 / 민준69 · 77 · 8978점, 좋음
민 준 / 서연69 · 77 · 8978점, 좋음
김민준 / 서연56 · 64 · 9471점, 좋음
민준 / 서윤97 · 91 · 10096점, 천생연분

도구의 함수를 그대로 돌린 결과예요. 순서를 바꾸거나 띄어쓰기를 넣어도 점수는 그대로지만, 성 한 글자를 붙이거나 받침 하나만 바꿔도 세 점수가 통째로 달라져요. '연'과 '윤'은 사람에게는 비슷한 이름이지만 해시에게는 전혀 다른 입력이라서, 78점이 96점으로 뛰었어요. 비슷한 이름끼리 비슷한 점수가 나오지 않는다는 것, 바로 해시가 원래 하려는 일이에요.

51로 나누는 데서 생기는 치우침도 계산해 봤어요. 32비트 해시가 낼 수 있는 값은 4,294,967,296개이고, 이는 51 × 84,215,045 + 1이에요. RFC 9923도 해시를 원하는 범위로 줄일 때 나머지를 쓰면 작은 쪽으로 약간 기운다고 적고 있는데, 여기서는 나머지 0, 곧 50점만 8,421만여 개 가운데 하나만큼 더 자주 나오는 정도라 사실상 차이가 없어요.

이름 궁합 점수는 어떻게 퍼질까

해시가 고르게 퍼진다고 보면 세 항목은 각각 50점부터 100점까지 51가지 값을 같은 확률로 받아요. 51의 세제곱인 132,651가지 조합을 모두 세어 등급별 비율을 구했어요. 함께 실제 함수에도 이름을 넣어 봤어요. 흔한 성 열 개와 이름 글자 열다섯 개씩을 섞어 지은 세 글자 이름 두 개를 짝지어 20만 번 계산한 모의 실험이에요.

등급 (총점)모든 조합을 센 값20만 쌍 모의 실험
노력형 (59점 이하)3.39%3.40%
보통 (60~69점)23.47%23.57%
좋음 (70~79점)42.38%42.42%
아주 좋음 (80~89점)26.25%26.09%
천생연분 (90점 이상)4.51%4.52%

두 열이 소수 첫째 자리까지 거의 같아요. 이름에 무엇을 넣든 점수가 이론값대로 고르게 흩어진다는 뜻이에요. 모의 실험의 평균은 74.98점이고, 가장 많이 나온 점수는 75점(전체의 4.41%)이었어요. 세 점수를 평균하기 때문에 가운데로 몰리고, 양 끝은 드물어요. 100점이 나오려면 세 항목이 모두 99점 이상이어야 해서 132,651가지 가운데 4가지, 약 0.003%뿐이에요. 50점도 마찬가지로 드물어요.

이 표를 뒤집어 읽으면 결과를 대하는 태도가 정해져요. 열 쌍 가운데 일곱 쌍쯤은 '좋음'이나 '아주 좋음'을 받고, 노력형은 서른 쌍에 한 쌍꼴이에요. 노력형이 나왔다는 건 두 사람에 관한 정보가 아니라, 해시가 낸 숫자가 우연히 아래쪽에 떨어졌다는 정보예요.

커플 궁합은 점수표에서 시작해요

커플 궁합은 해시 대신 표를 써요. 먼저 두 사람의 생일로 별자리를 정하고, 별자리마다 붙은 불·땅·바람·물 네 원소의 짝으로 기본 점수를 찾아요. 여기에 혈액형 짝에 따라 −4점에서 +4점을, 같은 별자리면 5점을 더해요. 그다음 태어난 해로 띠를 정해 띠 관계에 따라 −4점에서 +4점을 한 번 더 더하고, 결과를 40점과 99점 사이로 묶어요. 혈액형과 띠의 가감 폭이 좁아서 점수의 대부분은 원소 짝이 정해요.

원소 짝기본 점수혈액형·같은 별자리까지 더한 범위
불 + 바람9086~94
땅 + 물8884~92
불 + 불8581~94
물 + 물8278~91
땅 + 땅8076~89
바람 + 바람7874~87
바람 + 물6258~66
불 + 땅6056~64
땅 + 바람5854~62
불 + 물5551~59

표를 보면 66점과 74점 사이가 통째로 비어 있어요. 원소 짝이 높은 무리와 낮은 무리로 갈려 있어서, 띠 점수를 더하기 전에는 67점부터 73점까지가 한 번도 나오지 않아요. 별자리 열두 개씩 두 사람의 짝 144가지, 혈액형 짝 16가지, 띠 짝 144가지를 모두 같은 비중으로 놓고 331,776가지 경우를 전부 계산해 보니 노력형 17.32%, 보통 32.16%, 좋음 3.34%, 아주 좋음 23.76%, 천생연분 23.42%가 나왔어요. 이름 궁합에서 가장 흔한 '좋음'이 커플 궁합에서는 가장 드문 등급이에요. 실제 점수는 47점에서 98점 사이에서만 나왔어요. 실제 사람들의 생일과 혈액형 분포는 고르지 않으니, 이 비율은 '모든 조합이 같은 비중일 때'라는 가정 아래의 계산이에요.

같은 점수, 다른 이야기

커플 궁합은 점수 아래에 기·승·전·결 네 장면의 이야기를 붙여요. 장면마다 준비된 문장 후보 가운데 하나를 해시로 고르는데, 고를 수 있는 경우를 모두 곱하면 4,444,263,936,000가지예요. 결과 아래에 '약 4조'로 표시되는 숫자가 이것이에요. 예를 들어 1998년 4월 12일생 A형과 1999년 11월 30일생 O형을 넣으면 양자리와 사수자리, 호랑이띠와 토끼띠, 생명수 7과 6이 나오고 89점 '아주 좋음'에 '불 둘의 이야기'라는 제목이 붙어요.

여기서 첫 사람의 혈액형만 B형으로 바꿔 봤어요. A형과 O형, B형과 O형은 둘 다 4점이 더해지는 짝이라 점수는 89점 그대로인데, 승 장면의 혈액형 문장은 물론 마지막 장면의 문장과 행운의 데이트 요일(금요일에서 화요일로), 행운의 색(연두색에서 하늘색으로)이 바뀌었어요. 요일과 색을 고르는 열쇠에 생년월일뿐 아니라 혈액형 짝도 들어가기 때문이에요. 반대로 이름은 문장 속 빈칸만 채워요. 이름을 비우면 '당신'과 '상대'가 들어갈 뿐 장면과 점수는 같아요. 두 사람의 칸을 서로 바꾸면 이름이 놓이는 자리만 바뀌고 고른 장면은 똑같았어요.

정해진 규칙에서 생기는 경계도 있어요. 별자리는 3월 21일부터 양자리처럼 해마다 같은 날짜로 나누고, 띠는 양력 1월 1일에 바뀐다고 봐요. 1월 1일과 12월 31일에 태어난 두 사람은 하루 차이로 띠가 달라지고, 그 띠 관계에 따라 점수가 최대 8점까지 달라질 수 있어요. 숫자 하나가 바뀐 이유를 따라가면 늘 이런 표의 칸 하나에 닿아요.

친구·연인과 결과를 나눌 때

두 도구가 하는 일을 한 문장으로 줄이면 '입력을 정해진 규칙으로 표나 해시에 대어 숫자와 문장을 고른다'예요. 결과에는 두 사람이 실제로 어떤 사이인지에 관한 정보가 들어 있지 않아요. 그 점만 잊지 않으면 가볍고 즐거운 이야깃거리가 돼요. 결과를 나눌 때는 아래 순서를 권해요.

  1. 상대가 괜찮은지 먼저 물어요. 이름이나 생일, 혈액형은 상대의 정보예요. 몰래 넣어 보고 결과를 들이밀기보다 같이 보자고 제안하세요.
  2. 재미로 만든 계산이라는 걸 함께 알려요. 공유할 때 '이름 글자를 섞어서 점수를 내는 도구래'처럼 한마디 붙이면 낮은 점수도 농담으로 남아요.
  3. 높은 점수만 골라 보이지 않아요. 애칭을 바꿔 가며 높은 점수가 나올 때까지 돌리는 것도 놀이예요. 다만 그렇게 고른 결과를 '진짜 궁합'처럼 내밀지는 마세요.
  4. 이야기는 웃을 거리로 써요. 커플 궁합의 세 번째 장면은 점수와 상관없이 늘 갈등을 다뤄요. 그 장면을 두 사람의 실제 다툼에 빗대지 말고 '우리라면 어땠을까' 정도로 이야기해 보세요.
  5. 결정은 결과에 맡기지 않아요. 만남이나 이별, 결혼 같은 일은 이 숫자와 관계가 없어요. 결과가 마음에 걸린다면 그건 도구보다 두 사람이 나눌 대화가 필요하다는 신호예요.

팁 결과가 같은 입력에서 늘 같다는 점을 놀이로 써 보세요. 서로의 별명, 반려동물 이름, 좋아하는 음식 이름을 넣어 누가 먼저 천생연분을 찾는지 겨루면, 해시가 얼마나 예측할 수 없는지 몸으로 알게 돼요.

이 글과 함께 쓰면 좋은 도구

참고한 자료

다른 글