지금은 대부분의 상업적 목적을 가지는 웹사이트들이 주민등록번호 인증제도를 도입하지만, 그리 오래되지 않은 시절에는 대부분 직접 주민등록번호를 체크하는 루틴을 가지고 있었습니다. 속설에 의하면 허위 주민등록번호로 가입하는것을 막기 위해서 의도적으로 유출이 된 알고리즘이라고 하지만, 오히려 역효과로 인해서 주민등록번호 생성기가 웹을 휩쓸었던 시절이 도래하기도 했었지요.
현재는 주민등록번호 생성기 등을 제작해 배포하는 것은 큰 문제가 된답니다.
var sn = "1234561234567";
var key = "234567892345";
var sum = 0;
for( var i=0; i < key.length; i++ ) {
sum += parseInt( sn.charAt(i) ) * parseInt( key.charAt(i) );
}
digit = ( 11 - (sum % 11) ) % 10;
res = ( parseInt(sn.charAt(sn.length - 1)) == digit )? "True" : "False";
window.alert( res );
이러한 알고리즘에 관심이 있으신분은 대부분 개발자 혹은 개발자지망생 일거라 예상되고, 코드는 비교적 간단하다고 생각되는 JavaScript 를 이용했습니다. 한번 읽어보시면 알고리즘 정도는 눈에 들어오시겠죠? :-)
아, 참고로 2000 년 이후 출생자는 이 알고리즘이 적용되지 않는것으로 알고 있습니다.
