>  기사  >  웹 프론트엔드  >  Node.js 2세대 ID 카드 번호 확인 메커니즘 code_javascript 기술

Node.js 2세대 ID 카드 번호 확인 메커니즘 code_javascript 기술

WBOY
WBOY원래의
2016-05-16 18:06:531133검색

응답 속도가 매우 빠르기 때문에 온라인에서 정확성이 검증되지 않을 것이 확실합니다. 이는 잘 알려진 생일 및 성별 표시 규칙 외에도 2세대 ID 카드에는 다른 자체 검증 규칙도 있음을 의미합니다. 그래서 해당 페이지의 소스코드를 열어보니 이 js가 압축되지 않은 것을 보니 규칙이 이해하기 쉬웠습니다.
과학을 대중화하기 위해 온 거라 화성인지는 모르겠지만 하하.
다음 코드는 여기에서 따온 것이며, 저작권은 Shanda에게 있습니다. 물론 Wikipedia에서 더 자세한 소개와 알고리즘을 찾을 수도 있습니다.

코드 복사 코드는 다음과 같습니다.

iW = new Array(7,9, 10,5 ,8,4,2,1,6,3,7,9,10,5,8,4,2,1)
iSum = 0
for( i=0;i< ;17; i ){
iC = v_card.charAt(i);
iVal = parsInt(iC);
iSum = iVal * iW[i]}
iJYM % 11; var sJYM = '';
if(iJYM == 0) sJYM = "1";
else if(iJYM == 1) sJYM = "0"
(iJYM = = 2) sJYM = "x";
else if(iJYM == 3) sJYM = "9";
else if(iJYM == 4) sJYM = "8"
else if(iJYM == 5) sJYM = "7";
else if(iJYM == 6) sJYM = "6";
else if(iJYM == 7) sJYM = "5"; else if( iJYM == 8) sJYM = "4";
else if(iJYM == 9) sJYM = "3";
else if(iJYM == 10) sJYM = "2"; >var cCheck = v_card.charAt(17).toLowerCase();
if( cCheck != sJYM ){
return false; //일치하지 않으면 가짜 숫자입니다
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.