关于存折帐号校验位的计算

来源:百度知道 编辑:UC知道 时间:2024/06/23 03:27:51
银行存折帐号的校验位是用什么算法计算出来的。
请大家不要误会,知道校验位的算法只是为了方便我的一项工作,卡号的校验位算法都是公开的,我要知道的是折帐号的校验位算法。有研究这方面的朋友可以加我,14733470 我的QQ号:14733470 欢迎朋友们加我,一起研究。

一、我们银行的帐号由多位数字组成,从一个帐号中,可知道是中行还是工行或是建行农行、所属的省分行、所属的市分行、所属的支行、所属的网点、存折的作风纪律货币种类、存款的种类等信息。
  例如帐号: 4809962010200632165
  4表示中国银行,8099表示中国银行的广东省湛江分行,62表示该行的清河分理处,01表示人民币,02表示整存零取的存款户,0063216是帐户的序号,5是校验号。
  二、在银行的帐号中,末位为校验码。其实校验码并不是什么密码,也并不是经过什么函数的复杂计算才能得出的,校验码只是一个为减少工作差错而设置的数字。因为银行的工作基本都是与数字打交道,输入的全是数字,为防止、减少误输,才设置了校码。例如,转帐100百万元入0063216号帐户,如果帐号中只恰巧输错了一个数字,(例如误输为0062316),那么,钱就进入了别人的帐户,这可就惨了!!!,但是,在原帐号的后面加设置了一个校验码,就不同了,这就可以防止了误输,防止了工作的失误,提高的工作的效率。
  三、校验码并不是随机的,而是有一定规律的,其规律一般为“递减随抽”,表现为:
  1、校验码随号码的递增而递减。例如,号码63216的校验码为5,组成了632165,那么,后面的则是:632174、632183、632192、632201、632210、632229。如此类推。这就是“递减”。
  2、在递减中,进行跳号,所跳的号,就是随机的了,是没有任何规律的了。例如:632229、632238、632247、632255、632264、632273、632282、632291、632300、632319、632327、632336、632345、632354、632363、632372、632381、632399 、、、、、、,其中,632255、632327、632399,这3个号,就是跳了号的,即抽减了一个数字。但是,隔多少个数字才跳号,这是随机的,因此,叫“随抽”。
  3、跳号虽然是随机的,但是也有大致的规律,这就是:
  (1)、每次的跳差为1。即:632319、632327,如果不跳号,则为632328,但是现在跳为632327,相差为1,所以,如果账号632319是真实的,则632