爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5872|回复: 5

VB加密算法之CRC32

[复制链接]

新浪微博达人勋

发表于 2011-9-24 21:35:26 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
直接上代码!!


  1. Dim CrcTableInit As Boolean
  2. Dim CRCTable(0 To 255) As Long
  3. Public Function calcCRC32(ByteArray() As Byte) As Long
  4.     Dim i As Long
  5.     Dim crc As Long
  6.     If CrcTableInit = False Then Call Init_CRCTable
  7.     crc = -1
  8.     For i = 0 To UBound(ByteArray) - 1
  9.         crc = (((crc And &HFFFFFF00) \ &H100) And &HFFFFFF) Xor (CRCTable((crc And &HFF) Xor ByteArray(i)))
  10.     Next i
  11.     crc = crc Xor &HFFFFFFFF
  12.     calcCRC32 = crc
  13. End Function
  14. Private Sub Init_CRCTable()
  15.     Dim i As Long
  16.     Dim j As Long
  17.     Dim Limit As Long
  18.     Dim crc As Long
  19.     Limit = &HEDB88320
  20.     For i = 0 To 255
  21.         crc = i
  22.         For j = 0 To 7
  23.             If crc And 1 Then
  24.               crc = (((crc And &HFFFFFFFE) \ 2) And &H7FFFFFFF) Xor Limit
  25.             Else
  26.               crc = ((crc And &HFFFFFFFE) \ 2) And &H7FFFFFFF
  27.             End If
  28.         Next j
  29.         CRCTable(i) = crc
  30.     Next i
  31.     CrcTableInit = True
  32. End Sub
复制代码

评分

参与人数 2金钱 +20 贡献 +5 收起 理由
言深深 + 10 + 2 很给力!
mofangbao + 10 + 3

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-9-24 21:36:50 | 显示全部楼层
不留沙发!
CRC32简介:
      在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。在诸多检错手段中,CRC是最著名的一种。CRC的全称是循环冗余校验,其特点是:检错能力极强,开销小,易于用编码器及检测电路实现。从其检错能力来看,它所不能发现的错误的几率仅为0.0047%以下。从性能上和开销上考虑,均远远优于奇偶校验及算术和校验等方式。因而,在数据存储和数据通讯领域,CRC无处不在:著名的通讯协议X.25的FCS(帧检错序列)采用的是CRC-CCITT,ARJ、LHA等压缩工具软件采用的是CRC32,磁盘驱动器的读写采用了CRC16,通用的图像存储格式GIF、TIFF等也都用CRC作为检错手段。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-9-24 21:54:10 | 显示全部楼层
太坏了  沙发都不留  有时候加密是很有必要的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-9-24 21:56:42 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-25 10:01:03 | 显示全部楼层
不知道清风还记不记得那个加密解密的小软件了  呵呵 我现在还在用
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-20 10:46:01 | 显示全部楼层
多回复几个就可以到5了,不是吗?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表