生成认证码图片

开发工具与关键技术:Visual Studio 2015
撰写时间:2019.6.28

一、 public一个公共的样式, 然后static的一个公共静态,然后string的字符串,然后自定义一个名称GetRandomCode,然后int intLength后定义一个获取随机数的长度。
二、 接着弄一个产生数字和密码混合的随机数
striing的字符串获取,定义一个名称strReturn作为后面的传数,后等于string字符串的表示Empty的一个只读的字段;
Random他是一个表示可以随机数生成器,他是一个能够产生满足到某些随机性统计的要求的数字序列的设备,然后定义一个名称等于new一遍Random将会产生一个重载,使用与时间相同的默认种子值,进行初始化。
然后for的循环的型的一个范围值
char的一个字符值表示为UTF-16的代码单位,然后定义一个名称cRerult的名称的局部变量值,可以用于他接下来的引用。
然后int的表示32位数的符号数;局部变量的intLength的引用值,等于random的随机数引用到他Next从而再返回一个非负随机整数,就是产生一个非负随机整数。
然后再根据当前随机数来确定字符串,从而引用到intRandom % 3 获取的是intRandom/3 得到的余数,而后的if判断他的到的几位数字母,哪位是数字,产生的数字用于位数来产生数字;位数产生大写字母:大写字符或者余数为2产生的是小写字母
在这里插入图片描述
三、 根据字符串创建验证码
同样的static的一个公共静态,后byte[]的一个8位数的无符号的整数,同样的再定义一个名称,然后string的字符串,再用到传参的strRandom字符串。
然后新增一张图片,Bitmap他是用于处理由像素数据定义的图像的对象,定义名称newBitmap局部变量,等于new用到他的Bitmap指定的大小初始化Bitmap类的实例;再用到他的参数strRandom字符串,Length获取当器的string对象的字符串后表示他的32位符号整数;
Graphics封装一个GDI的绘图图面的此类是不能继承的,定义名称,等于Graphics绘图的图层加上FromImage他指定的创建新的Graphics绘图引用到newBitmap的局部变量值;
然后Clear一个清除绘图图层的背景颜色的填充后的Color是个表一种颜色的ARGD,然后获取到他的值的系统定义的颜色值的一个White的一个属性值。
然后在绘制图的图片上绘制文字,接着再他的图片上绘制一些干扰线,从而干扰认证码上的一效果,产生一条线,并绘制到画布。然后这些干扰线的起始点分为两部分y轴和x轴来总结干扰线点数值,再然后绘制图片的前景干扰点;然后在最外边绘制他的边框;之后将图转保存到内存流中;从而再将流内容写入byte数组返回
在这里插入图片描述
(这是跟老师学习MVC的一个项目的上的代码)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PNG(Portable Network Graphics)是一种无损压缩的图像格式,它使用CRC(循环冗余校验)算法来生成并验证图像的检验码。 CRC是一种校验算法,用于检测数据传输或存储中的错误。它将数据视为一个多项式,并通过除法运算来计算CRC值。在PNG图像中,CRC用于检验数据块的完整性,以确保图像数据没有损坏或遭到篡改。 PNG图像由多个数据块(Chunks)组成,其中包括图像数据、元数据、调色板等信息。每个数据块都有一个4字节的CRC校验码,位于数据块的结尾处。CRC校验码由数据块的类型字段和数据字段一起计算得出。 CRC校验的计算公式如下: 1. 首先,将数据块的类型字段和数据字段连接起来,形成一个新的数据序列。 2. 初始化一个CRC校验值为0xFFFFFFFF。 3. 遍历数据序列的每个字节,按位异或运算更新CRC校验值。 4. 对于每个字节,进行8次循环,每次循环右移1位并判断最低位是否为1,若是,则与预先定义的多项式0xEDB88320按位异或。 5. 循环结束后,对CRC校验值进行按位取反操作。 6. 最终的CRC校验码即为取反后的CRC校验值。 使用CRC校验码可以验证图像数据在传输或存储过程中的完整性和正确性。在接收或读取PNG图像时,可以重新计算CRC校验码并与原来的校验码进行比较,若二者相等,则可以确认图像数据没有损坏或被篡改。这对于保证图像质量和完整性非常重要。 ### 回答2: PNG(Portable Network Graphics)是一种无损压缩的图像文件格式,其中的CRC(Cyclic Redundancy Check)是一种用于验证数据完整性的校验码。 PNG图像文件在存储时,会对图像数据进行压缩和编码处理。而CRC检验码则是在编码过程中生成的一串16位二进制数,用于验证图像数据在传输或存储过程中是否发生了变化或损坏。 CRC检验码的计算过程如下: 1. 初始化一个16位的寄存器,将其值设置为全1。 2. 将待计算的数据按字节或按位逐个与寄存器的值异或操作。 3. 对于每个被异或的字节(或位),将寄存器向右移动一位,并在最高位上填充0。 4. 若寄存器最右边的位为1,则将寄存器的值与一个预设的常数多项式进行异或操作。 5. 重复步骤2到4,直到所有的数据都被处理完。 6. 最后,将得到的寄存器值作为CRC校验码。 CRC检验码的应用可以有效地检测到数据传输过程中的误码和损坏。当接收端接收到数据后,同样按照上述步骤计算接收到的数据的CRC值,并将其与发送端传输的CRC值进行比较。若两个值不相等,则说明数据发生了变化或损坏。 通过使用CRC检验码,可以提高数据的完整性和可靠性,保证在数据传输和存储过程中数据的完整性。因此,CRC检验码在PNG图像文件中的计算和应用起到了重要的作用。 ### 回答3: PNG图片的CRC(循环冗余校验)检验码是一种校验方法,用于验证数据的完整性和准确性。它通过计算数据块中每个字节的值,并执行一系列比特操作来生成一个32位的CRC值。 CRC检验码计算的过程如下: 1. 初始化CRC寄存器为全1(0xFFFFFFFF); 2. 逐个读取数据块中的每个字节; 3. 将当前字节的值与CRC寄存器的低8位进行异或运算; 4. 重复8次,每次进行一次循环: - 如果CRC寄存器的最低位为1,则右移一位,并将0xEDB88320与CRC寄存器进行异或运算; - 如果CRC寄存器的最低位为0,则只右移一位; 5. 重复步骤2~4,直到处理完所有的字节; 6. 将最终的CRC寄存器的值取反,即得到CRC检验码。 这个32位的CRC检验码可以用于验证PNG图片中的数据是否被篡改或损坏。当CRC值与存储在PNG文件中的CRC校验码相匹配时,说明数据完整和准确;如果不匹配,则说明数据可能已经被修改或损坏。 通过使用CRC检验码,PNG图片可以确保数据的完整性,提高数据传输的可靠性,并防止数据在传输过程中出现错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值