校验码

1031 查验身份证 (15 分)

强颜欢笑 提交于 2019-12-02 14:27:03
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值: Z:0 1 2 3 4 5 6 7 8 9 10 M:1 0 X 9 8 7 6 5 4 3 2 现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。 输入格式: 输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。 输出格式: 按照输入的顺序每行输出1个有问题的身份证号码。这里并不检验前17位是否合理,只检查前17位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出All passed。 输入样例1: 4 320124198808240056 12010X198901011234 110108196711301866 37070419881216001X 输出样例1: 12010X198901011234 110108196711301866 37070419881216001X 输入样例2: 2 320124198808240056 110108196711301862 输出样例2: All passed #

CRC码计算及校验原理的最通俗诠释

孤街醉人 提交于 2019-12-02 10:48:39
循环冗余校验检错方案 奇偶校验码(PCC)只能校验一位错误,本节所要介绍的循环冗余校验码(CRC)的检错能力更强,可以检出多位错误。 1. CRC校验原理 CRC校验原理看起来比较复杂,好难懂,因为大多数书上基本上是以二进制的多项式形式来说明的。其实很简单的问题,其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注意,这里的数也是二进制序列的,下同),生成一个新帧发送给接收端。当然,这个附加的数不是随意的,它要使所生成的新帧能与发送端和接收端共同选定的某个特定数整除(注意,这里不是直接采用二进制除法,而是采用一种称之为“模2除法”)。到达接收端后,再把接收到的新帧除以(同样采用“模2除法”)这个选定的除数。因为在发送端发送数据帧之前就已通过附加一个数,做了“去余”处理(也就已经能整除了),所以结果应该是没有余数。如果有余数,则表明该帧在传输过程中出现了差错。 【说明】“模2除法”与“算术除法”类似,但它既不向上位借位,也不比较除数和被除数的相同位数值的大小,只要以相同位数进行相除即可。模2加法运算为:1+1=0,0+1=1,0+0=0,无进位,也无借位;模2减法运算为:1-1=0,0-1=1,1-0=1,0-0=0,也无进位,无借位。相当于二进制中的逻辑异或运算。也就是比较后,两者对应位相同则结果为“0”,不同则结果为“1”。如100101除以1110

模拟完成知乎登录的三步走

对着背影说爱祢 提交于 2019-12-01 20:48:04
目录 一、请求进入登录页面获取cookies 二、校验验证码 三、登录校验 四、完整代码 一、请求进入登录页面获取cookies 用的是requests_html模块中的HTMLSession,实例化后的对象发送请求都会自动保存cookie发送。所以后续就不需要进行获取、保存、校验等操作 def get_first_cookie(self): self.session.get(url=self.head_page_url) 二、校验验证码 在校验验证码之前肯定要发请求获取校验码保存,再输入校验码,最后再发请求校验验证码。。 因为在知乎登录中有校验码有三种情况 没有校验码 英文校验码:输入4位数字或字母组合,url链接中带有lang=en。这种校验码比较好处理,这里就采用这个api 正文校验码:点击下面倒着的中文,url链接中带有lang=en 有三个请求,api为同一个,就是请求方式和携带的参数不同 (1)get请求:判断是否有验证码,不携带参数,如果有校验码会响应{"show_captcha":true},否则为{"show_captcha":false} (2)put请求:获取验证码,不携带参数,返回的响应是{"img_base64":"xxxxxx"},base64编码后的一串字符 (3)post请求:校验验证码,携带参数,校验成功返回的响应是{"success":true}

汉明码的计算

感情迁移 提交于 2019-12-01 12:17:41
已知有效信息码求汉明码: 例子: 有效信息码为1100 1.根据公式:2^k>= n+k+1(k是校验码位数,n是有效信息码位数),可以知道校验码的位数是3位。 2.因为校验码所在的位在2^i(i>=0)位置上,所以准备好表格: 1 2 3 4 5 6 7 ? ? 1 ? 1 0 0 3.填写问号 ?1-> t3^t5^t7=1^1^0=0 ?2-> t3^t6^t7=1^0^0=1 ?3-> t5^t6^t7=1^0^0=1 4.所以有效信息码1100的汉明码为011100。 来源: https://www.cnblogs.com/showyool/p/11685123.html

modbus rtu java android

人盡茶涼 提交于 2019-11-30 18:09:33
modbus 03 01(从机ID) 03(功能吗) ((00 00)地址码) ((00 02)读取寄存器数量) C4 0B(CRC 校验码) 校验码 地4位在前 高4位在后 01(从机ID) 03(功能吗) 04(返回字节数长) 0B 00 02 11(数据) 39 7B 来源: https://my.oschina.net/u/1177694/blog/3112596

软考中级1

穿精又带淫゛_ 提交于 2019-11-30 17:49:51
尼奎斯特取样定理:如果取样速率大于 模拟信号 最高频率的2倍,则可以用得到的样本恢复原来的模拟信号。 海明码:利用 奇偶性 来检错和校验的方法。假设有m位信息码,加入k位校验码,则满足m+k+1<=2k,使不等式成立的x的最小值就是校验码的位数。 来源: https://www.cnblogs.com/sq5288/p/11605858.html

增值税发票二维码解析

戏子无情 提交于 2019-11-30 03:22:41
01,01,4300171130,02550485,10545.43,20180115,6579, 01,10,044001500111,81966722,173.79,20170524,17884534745749991611,BE2D 第一项 第二项:发票种类代码,10-增值税电子普通发票;04-增值税普通发票;01-增值税专用发票 第三项:发票代码 第四项:发票号码 第五项:开票金额 第六项:代表开票日期 第七项:发票校验码,增值税专用发票是没有校验码的,没有则为空字符串 第八项:随机产生的机密信息 来源: https://blog.csdn.net/miao_x_m/article/details/101027666

解决PHP生成校验码或者是图像时“图像因其本身有错无法显示”的错误

夙愿已清 提交于 2019-11-29 12:17:04
解决PHP生成校验码时“图像因其本身有错无法显示”的错误 今天使用PHP生成校验码功能的实现,发现firefox一直提示“图像 .......因其本身有错无法显示”的问题,提示了说“如果浏览器显示“图像XXX因其本身有错无法显示”,可尽量去掉文中空格”,但把代码中所有空格都去掉了还是不能显示检验图片。于是深度google,大部分的解决方案也是将“<?”这句代码前的空格回车一切都删掉以防止有html输出,但这根本解决不了我的问题,后来看到有人在Header("Content-type: image/PNG" );这句代码前使用ob_clean()清除输出,结果一试之下果然成功。现将原代码修改后贴到下面,以备不时之需(使用方法参看原帖): <? php session_start (); session_register ("login_check_number" ); // 先成生背景,再把生成的验证码放上去 $img_height =70; // 先定义图片的长、宽 $img_width =25 ; $authnum ='' ; // 生产验证码字符 $ychar ="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z" ; $list = explode (",", $ychar );

验证身份证号规则(验证身份证号是否正确)

瘦欲@ 提交于 2019-11-28 12:56:10
案例: 某公民的身份证号: 34052419800101001X (18位) 加权因子表: 位置序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 加权因子 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 身份证号的前17位数字分别乘以对应的加权因子,并且相加。 第一步: 3*7+9*4+10*0+5*5+8*2+4*4+2*1+1*9+6*8+3*0+7*0+9*1+10*0+5*1+8*0+4*0+2*1=189 第二步: 189%11 = 2 校验码表: 余数 0 1 2 3 4 5 6 7 8 9 10 校验码 1 0 X 9 8 7 6 5 4 3 2 结果 2 对应的是 X,所以以上身份证号验证通过。 来源: https://www.cnblogs.com/ldl326308/p/10218443.html

CRC校验码

社会主义新天地 提交于 2019-11-28 11:12:21
例如:g(x)=x^4+x^3+x^2+1,(7,3)码,信息码110产生的CRC码就是1001。 对于g(x)=x^4+x^3+x^2+1的解释:(都是从右往左数)x4就是第五位是1,因为没有x1所以第2位就是0。 11101 | 110,0000(设a=11101 ,b=1100000) 用b除以a做模2运算得到余数:1001 余数是1001,所以CRC码是1001,传输码为:110,1001 来源: https://www.cnblogs.com/achangchang/p/11406183.html