亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? md5.cls

?? 這是一本學習串口編程喝計算機監控的好書里面是用VB開發的源代碼
?? CLS
?? 第 1 頁 / 共 2 頁
字號:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "MD5"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

'/******************************************************************************
' * Copyright (C) 2000 by Robert Hubley. *
' * All rights reserved. *
' * *
' * This software is provided ``AS IS'' and any express or implied *
' * warranties, including, but not limited to, the implied warranties of *
' * merchantability and fitness for a particular purpose, are disclaimed. *
' * In no event shall the authors be liable for any direct, indirect, *
' * incidental, special, exemplary, or consequential damages (including, but *
' * not limited to, procurement of substitute goods or services; loss of use, *
' * data, or profits; or business interruption) however caused and on any *
' * theory of liability, whether in contract, strict liability, or tort *
' * (including negligence or otherwise) arising in any way out of the use of *
' * this software, even if advised of the possibility of such damage. *
' * *
' ******************************************************************************
'
' CLASS: MD5
'
' DESCRIPTION:
' This is a class which encapsulates a set of MD5 Message Digest functions.
' MD5 algorithm produces a 128 bit digital fingerprint (signature) from an
' dataset of arbitrary length. For details see RFC 1321 (summarized below).
' This implementation is derived from the RSA Data Security, Inc. MD5 Message-Digest
' algorithm reference implementation (originally written in C)
'
' AUTHOR:
' Robert M. Hubley 12/1999
'
'
' NOTES:
' Network Working Group R. Rivest
' Request for Comments: 1321 MIT Laboratory for Computer Science
' and RSA Data Security, Inc.
' April 1992
'
'
' The MD5 Message-Digest Algorithm
'
' Summary
'
' This document describes the MD5 message-digest algorithm. The
' algorithm takes as input a message of arbitrary length and produces
' as output a 128-bit "fingerprint" or "message digest" of the input.
' It is conjectured that it is computationally infeasible to produce
' two messages having the same message digest, or to produce any
' message having a given prespecified target message digest. The MD5
' algorithm is intended for digital signature applications, where a
' large file must be "compressed" in a secure manner before being
' encrypted with a private (secret) key under a public-key cryptosystem
' such as RSA.
'
' The MD5 algorithm is designed to be quite fast on 32-bit machines. In
' addition, the MD5 algorithm does not require any large substitution
' tables; the algorithm can be coded quite compactly.
'
' The MD5 algorithm is an extension of the MD4 message-digest algorithm
' 1,2]. MD5 is slightly slower than MD4, but is more "conservative" in
' design. MD5 was designed because it was felt that MD4 was perhaps
' being adopted for use more quickly than justified by the existing
' critical review; because MD4 was designed to be exceptionally fast,
' it is "at the edge" in terms of risking successful cryptanalytic
' attack. MD5 backs off a bit, giving up a little in speed for a much
' greater likelihood of ultimate security. It incorporates some
' suggestions made by various reviewers, and contains additional
' optimizations. The MD5 algorithm is being placed in the public domain
' for review and possible adoption as a standard.
'
' RFC Author:
' Ronald L.Rivest
' Massachusetts Institute of Technology
' Laboratory for Computer Science
' NE43 -324545 Technology Square
' Cambridge, MA 02139-1986
' Phone: (617) 253-5880
' EMail: Rivest@ theory.lcs.mit.edu
'
'
'
' CHANGE HISTORY:
'
' 0.1.0 RMH 1999/12/29 Original version
'
'


'=
'= Class Constants
'=
Private Const OFFSET_4 = 4294967296#
Private Const MAXINT_4 = 2147483647

Private Const S11 = 7
Private Const S12 = 12
Private Const S13 = 17
Private Const S14 = 22
Private Const S21 = 5
Private Const S22 = 9
Private Const S23 = 14
Private Const S24 = 20
Private Const S31 = 4
Private Const S32 = 11
Private Const S33 = 16
Private Const S34 = 23
Private Const S41 = 6
Private Const S42 = 10
Private Const S43 = 15
Private Const S44 = 21


'=
'= Class Variables
'=
Private State(4) As Long
Private ByteCounter As Long
Private ByteBuffer(63) As Byte


'=
'= Class Properties
'=
Property Get RegisterA() As String
    RegisterA = State(1)
End Property

Property Get RegisterB() As String
    RegisterB = State(2)
End Property

Property Get RegisterC() As String
    RegisterC = State(3)
End Property

Property Get RegisterD() As String
    RegisterD = State(4)
End Property


'=
'= Class Functions
'=

'
' Function to quickly digest a file into a hex string
'
Public Function DigestFileToHexStr(FileName As String) As String
    Open FileName For Binary Access Read As #1
    MD5Init
    
    Do While Not EOF(1)
        Get #1, , ByteBuffer
        If Loc(1) < LOF(1) Then
            ByteCounter = ByteCounter + 64
            MD5Transform ByteBuffer
        End If
    Loop
    
    ByteCounter = ByteCounter + (LOF(1) Mod 64)
    Close #1
    MD5Final
    DigestFileToHexStr = GetValues
End Function

'
' Function to digest a text string and output the result as a string
' of hexadecimal characters.
'
Public Function DigestStrToHexStr(SourceString As String) As String
    MD5Init
    MD5Update Len(SourceString), StringToArray(SourceString)
    MD5Final
    DigestStrToHexStr = GetValues
End Function

'
' A utility function which converts a string into an array of
' bytes.
'
Private Function StringToArray(InString As String) As Byte()
    Dim i As Integer
    Dim bytBuffer() As Byte
    
    ReDim bytBuffer(Len(InString))
    
    For i = 0 To Len(InString) - 1
        bytBuffer(i) = Asc(Mid(InString, i + 1, 1))
    Next i
    
    StringToArray = bytBuffer
End Function

'
' Concatenate the four state vaules into one string
'
Public Function GetValues() As String
GetValues = LongToString(State(1)) & LongToString(State(2)) & LongToString(State(3)) & LongToString(State(4))
End Function

'
' Convert a Long to a Hex string
'
Private Function LongToString(Num As Long) As String
    Dim a As Byte
    Dim b As Byte
    Dim c As Byte
    Dim d As Byte
    
    a = Num And &HFF&
    If a < 16 Then
        LongToString = "0" & Hex(a)
    Else
        LongToString = Hex(a)
    End If
    
    b = (Num And &HFF00&) \ 256
    If b < 16 Then
        LongToString = LongToString & "0" & Hex(b)
    Else
        LongToString = LongToString & Hex(b)
    End If
    
    c = (Num And &HFF0000) \ 65536
    If c < 16 Then
        LongToString = LongToString & "0" & Hex(c)
    Else
        LongToString = LongToString & Hex(c)
    End If
    
    If Num < 0 Then
        d = ((Num And &H7F000000) \ 16777216) Or &H80&
    Else
        d = (Num And &HFF000000) \ 16777216
    End If
    
    If d < 16 Then
        LongToString = LongToString & "0" & Hex(d)
    Else
        LongToString = LongToString & Hex(d)
    End If
End Function

'
' Initialize the class
' This must be called before a digest calculation is started
'
Public Sub MD5Init()
    ByteCounter = 0
    State(1) = UnsignedToLong(1732584193#)
    State(2) = UnsignedToLong(4023233417#)
    State(3) = UnsignedToLong(2562383102#)
    State(4) = UnsignedToLong(271733878#)
End Sub

'
' MD5 Final
'
Public Sub MD5Final()
    Dim dblBits As Double
    
    Dim padding(72) As Byte
    Dim lngBytesBuffered As Long
    
    padding(0) = &H80
    
    dblBits = ByteCounter * 8
    
    ' Pad out
    lngBytesBuffered = ByteCounter Mod 64
    If lngBytesBuffered <= 56 Then
        MD5Update 56 - lngBytesBuffered, padding
    Else
        MD5Update 120 - ByteCounter, padding
    End If
    
    
    padding(0) = UnsignedToLong(dblBits) And &HFF&
    padding(1) = UnsignedToLong(dblBits) \ 256 And &HFF&
    padding(2) = UnsignedToLong(dblBits) \ 65536 And &HFF&
    padding(3) = UnsignedToLong(dblBits) \ 16777216 And &HFF&
    padding(4) = 0
    padding(5) = 0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区三区99| 婷婷国产在线综合| 亚洲二区在线观看| 国产一区二区在线影院| 在线观看一区二区精品视频| 欧美xxxxx牲另类人与| 亚洲线精品一区二区三区八戒| 久久精品国产精品亚洲综合| 色菇凉天天综合网| 亚洲国产精品99久久久久久久久| 偷窥国产亚洲免费视频| 91在线国产福利| 国产三级精品在线| 国产精品一区二区在线播放| 欧美日本一道本| 亚洲激情第一区| 99久久综合99久久综合网站| 久久综合狠狠综合久久激情| 全部av―极品视觉盛宴亚洲| 欧美日韩一区二区在线观看| 中文字幕亚洲电影| 成人免费观看男女羞羞视频| 久久综合久久综合久久综合| 日韩vs国产vs欧美| 91精品国产色综合久久不卡电影| 亚洲另类色综合网站| 99久久伊人精品| 日韩毛片视频在线看| aaa国产一区| 中文字幕在线不卡视频| av爱爱亚洲一区| 1024国产精品| 一本到三区不卡视频| 亚洲男帅同性gay1069| 91蜜桃视频在线| 一区二区三区在线免费观看| 欧美在线免费播放| 水野朝阳av一区二区三区| 91精品午夜视频| 久久国产精品区| 久久青草欧美一区二区三区| 国产成人精品免费一区二区| 国产精品久久综合| 一本一道久久a久久精品| 亚洲欧美日韩一区| 欧美日韩在线免费视频| 日韩精品一二三四| 久久综合久久鬼色| 91香蕉视频在线| 亚洲亚洲精品在线观看| 日韩视频一区在线观看| 国产精品1区2区3区| 国产精品久久一卡二卡| 在线视频国内自拍亚洲视频| 亚洲不卡在线观看| 精品美女在线观看| 92精品国产成人观看免费| 性欧美疯狂xxxxbbbb| 精品国一区二区三区| 成人av片在线观看| 天天爽夜夜爽夜夜爽精品视频| 精品欧美一区二区久久| www.久久久久久久久| 午夜精品久久久久久久久久久| 欧美sm美女调教| 色偷偷一区二区三区| 麻豆91精品视频| 中文字幕中文在线不卡住| 欧美日产国产精品| 国产不卡视频一区二区三区| 亚洲制服丝袜在线| 国产日韩欧美电影| 欧美巨大另类极品videosbest | 日韩在线一区二区三区| 久久伊人中文字幕| 在线视频观看一区| 国产精品中文字幕一区二区三区| 亚洲精品亚洲人成人网| 久久久久久久久免费| 欧美日韩高清在线播放| 国产91丝袜在线播放0| 三级成人在线视频| 亚洲久本草在线中文字幕| 精品电影一区二区| 欧美日韩国产乱码电影| 91婷婷韩国欧美一区二区| 国产一区二区视频在线| 日韩vs国产vs欧美| 亚洲欧美日韩中文字幕一区二区三区| 日韩精品一区二区三区视频播放 | 亚洲综合一二区| 国产女同互慰高潮91漫画| 日韩欧美国产电影| 欧美亚洲免费在线一区| 91麻豆自制传媒国产之光| 国产成人精品免费| 国产主播一区二区三区| 蜜臀国产一区二区三区在线播放| 亚洲韩国一区二区三区| 综合久久国产九一剧情麻豆| 国产午夜亚洲精品理论片色戒| 91精品国产91久久久久久最新毛片| 91久久精品一区二区二区| 波波电影院一区二区三区| 国产成人精品一区二区三区四区 | 夜色激情一区二区| 国产精品免费丝袜| 中文字幕中文在线不卡住| 国产精品久久久久精k8 | 丁香激情综合五月| 国产精一品亚洲二区在线视频| 六月丁香婷婷久久| 精品一区二区免费看| 国产精一品亚洲二区在线视频| 久久精品国产澳门| 久久99蜜桃精品| 激情深爱一区二区| 国产传媒一区在线| 成人免费高清在线观看| 91丨九色丨蝌蚪富婆spa| 91亚洲精品久久久蜜桃| 在线观看日韩电影| 欧美精品久久久久久久多人混战 | 国产精品视频线看| 中文字幕一区免费在线观看| 亚洲日本护士毛茸茸| 亚洲乱码国产乱码精品精98午夜| 国产福利精品导航| 97精品久久久久中文字幕| 婷婷开心激情综合| 亚洲色图视频网站| 亚洲影院理伦片| 免费高清在线一区| 国产呦精品一区二区三区网站| 高清不卡一二三区| 色婷婷av一区二区三区gif | 亚洲美女屁股眼交| 视频一区免费在线观看| 精品综合久久久久久8888| 国产乱码精品一品二品| 99免费精品视频| 欧美一区二区三区视频在线| 精品国产免费一区二区三区四区 | 亚洲电影一区二区三区| 强制捆绑调教一区二区| 国产jizzjizz一区二区| 欧美性受xxxx| 26uuu国产电影一区二区| 国产精品久久久久久久久图文区| 亚洲一区二区三区精品在线| 黄一区二区三区| 91在线免费视频观看| 欧美欧美欧美欧美首页| 欧美—级在线免费片| 亚洲成人av在线电影| 国产成人精品三级麻豆| 欧美高清视频不卡网| 国产精品欧美一区喷水| 日韩av一级片| 91一区一区三区| 久久―日本道色综合久久| 一区二区三区在线观看欧美| 精品一区二区久久| 欧美日韩国产一级二级| 中文字幕一区二区日韩精品绯色 | 亚洲在线一区二区三区| 国产成人午夜电影网| 在线观看91精品国产麻豆| 中文字幕第一区| 久久国产福利国产秒拍| 欧洲一区在线电影| 中文字幕一区二区三区四区| 久久不见久久见免费视频7| 欧美一a一片一级一片| 国产精品你懂的| 国产成人自拍网| 欧美精品精品一区| 一区二区三区中文在线观看| 成人综合婷婷国产精品久久蜜臀 | 国产精品嫩草影院av蜜臀| 麻豆视频观看网址久久| 欧美日本乱大交xxxxx| 亚洲色图视频网站| 99视频有精品| 国产精品久久看| 国产福利精品一区| 久久精品视频网| 精品在线视频一区| 欧美一级日韩免费不卡| 亚洲成人综合在线| 欧美三级电影网站| 亚洲综合精品久久| 日本久久精品电影| 亚洲精品精品亚洲| 欧美亚洲图片小说| 亚洲在线成人精品| 欧美高清视频一二三区| 亚洲va韩国va欧美va| 欧美精品丝袜中出| 蜜桃传媒麻豆第一区在线观看|