校验码算法描述如下:详细:http://wenku.baidu.com/link?url=CDvNJ1sLYOPzbbxjEy5R-oME95RlfTCUU5-I5M0bqUt0I32b0Xd0EKmI-HiFQHhY8OcB6ERTml7pUwXFseLl8GGvkuc7w0V2sFDxi2H0XGC



本例子以16位编号为例子,用PHP予以实现,代码如下:

$m='';$str='440400131008309';$str.='a';/*测试用例,最后一位为校验码440402111006084044040013100830954404021150062404*/functionp($str,$n){if($n==1){return10;}else{$num=$str[$n-2];$s=p($str,$n-1)%11+$num;return($s%10==0?10:$s%10)*2;}}$p=p($str,16);for($i=0;$i<10;$i++){if(($p%11+$i)%10==1){$m=$i;break;}}echo$m;