(六)输入验证码提示错误的问题

(六)输入验证码提示错误的问题
(六)输入验证码提示错误的问题

(六)输入验证码提示错误的问题

有时我们在登录NCE教育中心网站的时候,输入的验证码明明是正确的,而系统确总是提示“验证码错误,以下我们分五种情况来阐述:

友情提示:如果你登录的网站是正常的,请不要折腾。可以参照下面的方法去解决:

第一种情况页面上的刷新问题:

每次刷新页面登录的验证码都会跟着变换,如果提示验证码错了,系统便会更换验证码,这时可能页面还是先前的验证码,你不能输入两次相同的验证码,要待看到新的验证码后,再重新输入新的验证码就可以了。验证码是有时效性的,间隔一段时间,即使你没刷新页面,页面也会自动刷新的,因此间隔一段时间不登陆,验证码也是会变的。

第二种情况输入法的全角/半角问题:

输入法中的全角/半角输入数字是不一样的,即全角数字1234和半角数字1234是不同的,一般网站的验证码输入只支持半角数字。如输入全角数字,虽然数字是正确的,但还是不能通过验证的。

第三种情况系统的IE缓存问题:

为了提高访问网页的速度,Internet Explorer浏览器会采用累积式加速的方法,将你曾经访问的网页内容(包括图片以及cookie文件等)存放在电脑里。这个存放空间,我们就称它为IE缓存。以后我们每次访问网站时,IE会首先搜索这个目录,如果其中已经有访问过的内容,那IE就不必从网上下载,而直接从缓存中调出来,从而提高了访问网站的速度。也正因此,有的用户在登录一些经常登录的网站时,脱机工作了都不知道,你确实看到了验证码,但是那是以前的、旧的,你用过时的验证码登录网站,系统当然会提示你验证码的。IE缓存就是上网后留下的痕迹。是可以删除的,而且删除后会加快浏览器的速度。删除IE 缓存的方法:

1、点击打开IE浏览器;

2、点击菜单栏中的“工具”菜单中的“Interne t选项”;

3、在弹出的对话窗中的Internet临时文件栏目点击“删除文件”;

4、在弹出的对话窗中在“删除所有脱机内容”前打上对勾,然后点确定;

5、点击确定后,鼠标可能会变成比较忙的状态,这是因为缓存较多的缘故,一般情况下十秒左右鼠标就会恢复正常。之后再点击右下角的“确定”退出。这样电脑IE的缓存就清除完毕了。

第四种情况时区设置不正确:

中国用户需要把计算机时区设置为中国标准时间,方法如下:

1、双击桌面右下角显示的系统时间;

2、点击“时区”选项卡;

3、看看你所在的时区是不是“(GMT+08:00)北京、重庆、香港特别行政区、乌鲁木齐”,如果不是,请正确选择;

4、在“Internet时间”选项卡中,将“自动与Internet时间服务器同步”前面的勾去掉,然后将时间日期设置正确;

5、关闭所有浏览器,重新打开浏览器登录网站。点击登陆按钮的时候,请务必不要连续点击;

6、如果还是提示验证码错误,则打开IE浏览器→点击工具→Internet选项→高级→把滑动条拖到最底端,把“总是以UTF-8发送URL”这一项的钩去掉,然后重启机器,再打开网站首页就可以了。

第五种情况你的电脑中了木马:

如果以上的四种情况的问题都解决了,仍然提示验证码错误,那就可以怀疑你的机器中木马了。因为在你输入验证码的时候,木马程序截获了你输入的验证码并且伪报给服务器一个错误验证码或不报给服务器验证码,这样服务器就会提示你验证码错误。原因很简单:就是服务器根本没有收到正确的验证码!建议尽快用正版的、最新的、有效的杀毒软件杀毒;用360安全卫士清理木马和流氓插件;并且安装带有密码防护的防火墙

验证码识别常用算法

验证码识别常用算法 图像处理(验证码识别)程序中常用算法:灰度,二值化,去噪(1*1像素或者3*3像素等) 代码: view plaincopy to clipboardprint? //灰度 private void btnGray_Click(object sender, EventArgs e) { try { int Height = this.picBase.Image.Height; int Width = this.picBase.Image.Width; Bitmap newbitmap = new Bitmap(Width, Height); Bitmap oldbitmap = (Bitmap)this.picBase.Image; Color pixel; for (int x = 0; x < Width; x++) { for (int y = 0; y < Height; y++) { pixel = oldbitmap.GetPixel(x, y); newbitmap.SetPixel(x, y, Gray(pixel)); } } this.picBase.Image = newbitmap; } catch (Exception err) { MessageBox.Show("灰度化失败原因:" + err.Message); } } //灰度化算法 protected static Color Gray(Color c) { int rgb = Convert.ToInt32((double)(((0.3 * c.R) + (0.59 * c.G)) + (0.11 * c.B))); return Color.FromArgb(rgb, rgb, rgb); } //灰度 private void btnGray_Click(object sender, EventArgs e) { try { int Height = this.picBase.Image.Height; int Width = this.picBase.Image.Width; Bitmap newbitmap = new Bitmap(Width, Height); Bitmap oldbitmap = (Bitmap)this.picBase.Image; Color pixel; for (int x = 0; x < Width; x++) { for (int y = 0; y < Height; y++) { pixel = oldbitmap.GetPixel(x, y);

js弹出对话框的3种方式

js弹出对话框3种方式对话框有三种

1:只是提醒,不能对脚本产生任何改变; 2:一般用于确认,返回true 或者false ,所以可以轻松用于if...else...判断 3:一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的插入UBB格式图片 下面我们分别演示: @LANGUAGE="JA V ASCRIPT" CODEPAGE="936"%









对话框有三种
1:只是提醒,不能对脚本产生任何改变;
2:一般用于确认,返回true 或者false ,所以可以轻松用于 if     else     判断
3:一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的插入UBB格式图片
下面我们分别演示:
演示一:提醒对话框

  

演示二:确认对话框

  

演示三:要求用户输入,然后给个结果

  

各种校验码校验算法分析

各种校验码校验算法分析二进制数据经过传送、存取等环节会发生误码1变成0或0变成1这就有如何发现及纠正误码的问题。所有解决此类问题的方法就是在原始数据数码位基础上增加几位校验冗余位。 一、码距一个编码系统中任意两个合法编码码字之间不同的二进数位bit数叫这两个码字的码距而整个编码系统中任意两个码字的的最小距离就是该编码系统的码距。如图1 所示的一个编码系统用三个bit来表示八个不同信息中。在这个系统中两个码字之间不同的bit数从1到3不等但最小值为1故这个系统的码距为1。如果任何码字中一位或多位被颠倒了结果这个码字就不能与其它有效信息区分开。例如如果传送信息001而被误收为011因011仍是表中的合法码字接收机仍将认为011是正确的信息。然而如果用四个二进数字来编8个码字那么在码字间的最小距离可以增加到2如图2的表中所示。信息序号二进码字 a2 a1 a0 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 图 1 信息序号二进码字 a3 a2 a1 a0 0 0 0 0 0 1 1 0 0 1 2 1 0 1 0 3 0 0 1 1 4 1 1 0 0 5 0 1 0 1 6 0 1 1 0 7 1 1 1 1 图 2 注意图8-2的8个码字相互间最少有两bit 的差异。因此如果任何信息的一个数位被颠倒就成为一个不用的码字接收机能检查出来。例如信息是1001误收为1011接收机知道发生了一个差错因为1011不是一个码字表中没

有。然而差错不能被纠正。假定只有一个数位是错的正确码字可以是100111110011或1010。接收者不能确定原来到底是这4个码字中的那一个。也可看到在这个系统中偶数个2或4差错也无法发现。为了使一个系统能检查和纠正一个差错码间最小距离必须至少是“3”。最小距离为3时或能纠正一个错或能检二个错但不能同时纠一个错和检二个错。编码信息纠错和检错能力的进一步提高需要进一步增加码 字间的最小距离。图8-3的表概括了最小距离为1至7的码的纠错和检错能力。码距码能力检错纠错 1 2 3 4 5 6 7 0 0 1 0 2 或 1 2 加 1 2 加 2 3 加 2 3 加 3 图3 码距越大纠错能力越强但数据冗余也越大即编码效率低了。所以选择码距要取决于特定系统的参数。数字系统的设计者必须考虑信息发生差错的概率和该系统能容许的最小差错 率等因素。要有专门的研究来解决这些问题。 二、奇偶校验奇偶校验码是一种增加二进制传输系统最小距离的简单和广泛采用的方法。例如单个的奇偶校验将使码的最小距离由一增加到二。一个二进制码字如果它的码元有奇数个1就称为具有奇性。例如码字“10110101”有五个1因此这个码字具有奇性。同样偶性码字具有偶数个1。注意奇性检测等效于所有码元的模二加并能够由所有码元的 异或运算来确定。对于一个n位字奇性由下式给出奇性a0⊕a1⊕a2⊕…⊕an 奇偶校验可描述为给每一个码字加一个

js alert,confirm,prompt的用法(附加一段有用的alert代码

js alert,confirm,prompt的用法(附加一段有用的alert代码 alert() 弹出个提示框(确定) confirm() 弹出个确认框(确定,取消) prompt() 弹出个输入框让你输入东西 使用消息框 使用警告、提示和确认 可以使用警告、确认和提示消息框来获得用户的输入。这些消息框是 window 对象的接口方法。由于 window 对象位于对象层次的顶层,因此实际应用中不必使用这些消息框的全名(例如 "window.alert()"),不过采用全名是一个好注意,这样有助于您记住这些消息框属于哪个对象。 警告消息框 alert 方法有一个参数,即希望对用户显示的文本字符串。该字符串不是 HTML 格式。该消息框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作。 window.alert("欢迎!请按“确定”继续。"); 确认消息框 使用确认消息框可向用户问一个“是-或-否”问题,并且用户可以选择单击“确定”按钮或者单击“取消”按钮。confirm 方法的返回值为 true 或 false。该消息框也是模式对话框:用户必须在响应该对话框(单击一个按钮)将其关闭后,才能进行下一步操作。 var truthBeTold = window.confirm("单击“确定”继续。单击“取消”停止。"); if (truthBeTold) { window.alert("欢迎访问我们的 Web 页!"); } else window.alert("再见啦!"); 提示消息框 提示消息框提供了一个文本字段,用户可以在此字段输入一个答案来响应您的提示。该消息框有一个“确定”按钮和一个“取消”按钮。如果您提供了一个辅助字符串参数,则提示消息框将在文本字段显示该辅助字符串作为默认响应。否则,默认文本为 ""。 与alert( ) 和 confirm( ) 方法类似,prompt 方法也将显示一个模式消息框。用户在继续操作之前必须先关闭该消息框 var theResponse = window.prompt("欢迎?","请在此输入您的姓名。"); window.confirm 参数就只有一个.显示提示框的信息. 按确定,返回true; 按取消返回false.

crc校验码 详细介绍看懂了就会了

循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*2的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*2的R次方除以生成多项式G(x)得到的余数就是校验码。 编辑本段 几个基本概念 1、多项式与二进制数码 多项式和二进制数有直接对应关系:x的最高幂次对应二进制数的最高位,以下各位对应多项式的各幂次,有此幂次项对应1,无此幂次项对应0。可以看出:x的最高幂次为R,转换成对应的二进制数有R+1位。 多项式包括生成多项式G(x)和信息多项式C(x)。 如生成多项式为G(x)=x^4+x^3+x+1,可转换为二进制数码11011。 而发送信息位1111,可转换为数据多项式为C(x)=x^3+x^2+x+1。 2、生成多项式 是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。 在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。 应满足以下条件: a、生成多项式的最高位和最低位必须为1。 b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做除后应该使余数不为0。 c、不同位发生错误时,应该使余数不同。 d、对余数继续做除,应使余数循环。 3 CRC码的生成步骤 1、将x的最高次幂为R的生成多项式G(x)转换成对应的R+1位二进制数。 2、将信息码左移R位,相当与对应的信息多项式C(x)*2的R次方。 3、用生成多项式(二进制数)对信息码做除,得到R位的余数。 4、将余数拼到信息码左移后空出的位置,得到完整的CRC码。 【例】假设使用的生成多项式是G(x)=x^3+x+1。4位的原始报文为1010,求编码后的报文。 解: 1、将生成多项式G(x)=x^3+x+1转换成对应的二进制除数1011。 2、此题生成多项式有4位(R+1),要把原始报文C(x)左移3(R)位变成1010000 3、用生成多项式对应的二进制数对左移3位后的原始报文进行模2除,相当于按位异或: 1010000

公众号我也快看不下去了!

别的行业也一样,比如说美食餐饮,这个公众号是《日常生活中一定不能食用的13种毒食物》,那个公众号是《揭秘日常生活中的13种毒食》,再来一个公众号是《你必须知道的13种毒食》……内容呢,都T M一样。 内容的差异化特色对公众号的打开率和关注人数提升,绝对是重要的。这方面,大而全的公众号还不如小而美的做得好。同样是媒体公众号,现代快报、掌上青岛就针对本地化作了相应的内容聚焦;同样是美食餐饮公众号,深夜谈吃、尽膳口福就做了大量原创美食内容的输出。原创的、本地的,就不容易同质化,公众号的运营者应该注意。如果内容没有差异化特色,哪怕像最早那一批公众号,每天都可以群发的权限是20次,没用,而且推送频率越高越烦人。但像自媒体公众号“槽边往事”,也是早期开通的公众号,最近很是活跃,一天推送好几条内容,但是用户不会觉得烦人,因为运营者和菜头群发的都是原创的优质内容。而单就公众号里的自媒体公众号来讲,他们还活跃在各大新闻客户端上,内容也一样,只是输出的新闻客户端不一样,也是变相的渠道内容同质化。 营销同质化更严重 目光聚集之处,金钱必将追随。互联网的营销,就是哪里人气旺就去哪里营销。微信目前在中国的用户已经超过6亿,日活跃用户据说达到了3亿,当然是移动互联网人气第一旺的社交平台。太多的公司和产品瞅准了微信,大量的金钱、礼品和人力砸上来,势必要在公众号矩阵里撕开一个营销的口子。 可惜的是,公众号营销的同质化情况比内容同质化更严重。营销方可能想要有规模效应,使得营销行为显得更有阵势和气势,每一次营销都会同时找一批自媒体公众号或者加上其他草根公众号,营

销的信息通过这些公众号出来的时候,内容都大同小异。如果营销方还想控制成本,使用通稿的话,想像一下:某一个领域大部分公众号的用户都有一定程度的重叠,因为单个用户可能在这个领域会关注好几个公众号,结果一遍又一遍看到同样的话题,可能仅仅是标题略有不同。非但营销的效果没有达到,而且还让这些公众号的用户对营销的公司或者产品等等产生反感。而且现在的营销方法的复制太快了,第一个公众号用了这种营销形式,马上就出现第二个第三个第四个…… 再换位思考,微信用户A看到个人的微信好友B在朋友圈分享了一个公众号的内容,又看到好友C在朋友圈分享了另一个公众号的内容,结果打开一看,内容说的都是那个公司那个产品。不仅对觉得这些公众号够无聊,而且很厌恶这个公司这个产品。甚至用户在微信、易信和来往看到公众号里都是这个内容……那就要吐了!但是用户A看到好友B在朋友圈分享了一个公众号的内容,又看到好友C分享了同一个公众号的内容,再看到D分享了同一个公众号的内容,TA就会觉得这个公众号挺强的,这么多人分享,进一步看内容,觉得这家公司这款产品营销做得不错啊……这就是说移动互联网时代,公众号的营销不太同于以往,对营销方的策略考验和对公众号的内容展现都提出了更高的要求,千万不要低估互联网用户的智商和消费意识。营销方必须为一个个公众号设计一套套个性化、互有不同的方案,公众号切入营销的角度一定要接地气、会讲故事,这样出来的效果才有可能是理想的。 原创能力正在被逐渐榨干 在公众号的展现形式和内容生产者基本沉淀下来之后,我们会发现,哪怕微信公众平台的原创能力具体到什么程度,也是可以感受到的。逆向思维,举一个例子,在2013年12月24日平安夜来临前的那个上午,尽管只有半天的时间,我的微信朋友圈出现了不小范围的慌乱,因为小伙伴们发现:

JS警告框 alert()、confirm()、prompt()的区别

使用消息框 使用警告、提示和确认 可以使用警告、确认和提示消息框来获得用户的输入。这些消息框是 window 对象的接口方法。由于 window 对象位于对象层次的顶层,因此实际应用中不必使用这些消息框的全名(例如 "window.alert()"),不过采用全名是一个好注意,这样有助于您记住这些消息框属于哪个对象。 警告消息框 alert 方法有一个参数,即希望对用户显示的文本字符串。该字符串不是 HTML 格式。该消息框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作。 window.alert("欢迎!请按“确定”继续。"); 确认消息框 使用确认消息框可向用户问一个“是-或-否”问题,并且用户可以选择单击“确定”按钮或者单击“取消”按钮。confirm 方法的返回值为 true 或 false。该消息框也是模式对话框:用户必须在响应该对话框(单击一个按钮)将其关闭后,才能进行下一步操作。 var truthBeTold = window.confirm("单击“确定”继续。单击“取消”停止。"); if (truthBeTold) { window.alert("欢迎访问我们的 Web 页!"); } else window.alert("再见啦!"); 提示消息框 提示消息框提供了一个文本字段,用户可以在此字段输入一个答案来响应您的提示。该消息框有一个“确定”按钮和一个“取消”按钮。如果您提供了一个辅助字符串参数,则提示消息框将在文本字段显示该辅助字符串作为默认响应。否则,默认文本为 ""。 与alert( ) 和 confirm( ) 方法类似,prompt 方法也将显示一个模式消息框。用户在继续操作之前必须先关闭该消息框 var theResponse = window.prompt("欢迎?","请在此输入您的姓名。"); 用confirm来做删除确认可以这样做: 删除

常用的检错码 - 奇偶校验码

3.2差错控制 3.2.2常用的检错码- 奇偶校验码 奇偶校验码是一种简单的检错码,奇偶校验码分为奇校验码和偶校验码,两者原理相同。它通过增加冗余位来使得码字中“1”的个数保持奇数或偶数。 ?无论是奇校验码还是偶校验码,其监督位只有一位; ?假设信息为为I1, I2, …, I n,对于偶校验码,校验位R可以表示为: R =I 1 ⊕I 2 ⊕Λ⊕I n ?假设信息为为I1, I2, …, I n,对于奇校验码,校验位R可以表示为: R =I 1 ⊕I 2 ⊕Λ⊕I n ⊕1 ?无论是奇校验码还是偶校验码,都只能检测出奇数个错码,而 不能检测偶数个错码。 4 4

讨论: 从检错能力、编码效率和代价等方面来评价垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验 3.2 差错控制 3.2.2 常用的检错码 - 奇偶校验码 奇偶校验在实际使用时又可分为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验等几种。 5

3.2.2常用的检错码–定比码 所谓定比码,即每个码字中“1”的个数与“0”的个数之比保持恒定, 故又名等比码或恒比码。 ?当码字长一定,每个码字所含“1”的数目都相同,“0”的数目也 都相同。 ?由于若n位码字中“1”的个数恒定为m,还可称为“n中取m”码 定比码(n中取m)的编码效率为: log C m R = ?2 n n 定比码能检测出全部奇数位错以及部分偶数位错。实际上,除了码 字中“1”变成“0”和“0”变成“1”成对出现的差错外,所有其它差 错都能被检测出来 6 4

代码“1011011”对应的多项式为x 6 + x 4 + x 3 +1 多项式“x 5 + x 4 + x 2 + x”所对应的代码为“110110” 3.2.2 常用的检错码 – 循环冗余检验 循环冗余码(Cyclic Redundancy Code ,简称CRC )是无线通信中用得最广泛的检错码,又被称为多项式码。 二进制序列多项式:任何一个由m 个二进制位组成的代码序列都可以和一个只含有0和1两个系数的m-1阶多项式建立一一对应的关系。 CRC 有关的多项式: ? 信息位多项式、冗余位多项式、码字多项式、和生成多项式 信息位1010001:K (x ) = x 6 + x 4 + 1 冗余位1101:R (x ) = x 3 + x 2 + 1; 码字10100011101: T (x ) = x 10 + x 8 + x 4 + x 3 + x 2 + 1 7

公众号运营平台如何玩转

公众号运营平台如何玩转 遇到太多的朋友,公众号申请都一年了,里面的粉丝居然还不到100!------ 我太知道了,很多人就像是当年炒股热一样,带着雄赳赳的三分钟热情冲进了微营销的阵列,天真的以为申请了一个公众号就等于是会做微营销了。 经过几番折腾下来,发现这粉丝无论如何就是涨不上去,气急败坏加上恼羞成怒之后,回家继续原来的老本行,偃旗息鼓,将微信公众号打入冷宫,从此不再过问微信咸淡事————

呵呵,朋友,如果你真的也是如上所说的那样的话,那么我将会给你带来一个绝好的消息,因为—— 我们的公众号联盟成立了。此联盟旨在为广大的公众号指出前进的方向,照亮前行的坎坷,推平那些讨厌的障碍,为你打开一马平川! 你一定想知道我到底是谁,对吧—— 我是马兴彬,在软件行业成长22年,

先后受训于IBM/BULL/ORACLE/思科等跨国IT公司,协助阿里巴巴建立淘宝大学技术平台,拥有众多电商系统化经验,协助上市公司通过网络营销创造百亿回款,还让无数人通过网络营销倍增业绩,创造众多商业传奇的幕后推手。 本没有打算出来干的,但是,当我发现有太多的中小企业老板,他们由于不懂营销,更不懂什么微营销与公众号,他们在黑暗的布满荆棘的商场摔得遍体鳞伤,鬼哭狼嚎,怨声载道。这让我无比的心痛,加上朋友的强烈建议,我的人生有了第一次从幕后站到前台,并且组建了“公众号联盟学院”。 我的毫无保留的、无下限的传授方式,让我的学员创造了奇迹———— 一个叫刘兴浪的微信学员,运用我的方法、策略和工具,短短4个月时间,粉丝量达到20万,每日图文阅读数达到1029010次,每日分享转发90832次,有图有真相,“翠花,上图————”

js给文本框动态绑定onblur方法,失焦的时候触发

1.//以下以失焦时,去掉文本框对应值的前后空格为例;此外存在局部刷新元素也适应,局部刷新 后再调用此方法即可。 2.var funMap = {};//记录页面变动之前的所有元素原始onblur方法 3.var tmpMap = null;//以元素name为key存储onblur方法,存在当前页面原始onblur方 法; 4.function bindOnblurEvent(){//绑定对象类型input(type=text) texttarea 5. var elements = document.getElementsByTagName('form')[0]; 6.tmpMap = {}; 7. if(elements != null){ 8. for ( var i = 0; i 0)){ 20. tmpMap[elements[i].name] = addFun; 21. } 22. } 23. //给onblur绑定新的方法 24. elements[i].onblur = addOnblurFun; 25. } 26. } 27.funMap = tmpMap; 28. } 29.} 30. 31.function addOnblurFun(){ 32. //input texttarea 所输入的字符串去掉前后空格 33.this.value = this.value.replace(/(^\s*)|(\s*$)/g, ""); 34. 35. //调用原始的onblur方法

CRC校验码原理

CRC校验码 CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。 目录 详细介绍 代数学的一般性运算 详细介绍 循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*2的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*2的R次方除以生成多项式G(x)得到的余数就是校验码。 几个基本概念 1、多项式与二进制数码 多项式和二进制数有直接对应关系:x的最高幂次对应二进制数的最高位,以下各位对应多项式的各幂次,有此幂次项对应1,无此幂次项对应0。可以看出:x的最高幂次为R,转换成对应的二进制数有R+1位。 多项式包括生成多项式G(x)和信息多项式C(x)。 如生成多项式为G(x)=x4+x3+x+1,可转换为二进制数码11011。 而发送信息位1111,可转换为数据多项式为C(x)=x3+x2+x+1。 2、生成多项式 是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。 在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。 应满足以下条件: a、生成多项式的最高位和最低位必须为1。 b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做除后应该使余数不为0。 c、不同位发生错误时,应该使余数不同。 d、对余数继续做除,应使余数循环。

经典文档告诉你如何在input里填邮箱时让后缀自动出现

如何在input里面添加邮箱的时候让邮箱后缀自动出来,你一定很想知道,下面我就给您分享下这个代码。 第一部分 https://www.360docs.net/doc/a717035955.html,

相关文档
最新文档