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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? md5.cls

?? 監(jiān)控類的開發(fā)
?? 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一区二区三区免费野_久草精品视频
最新欧美精品一区二区三区| 午夜一区二区三区在线观看| 欧美在线观看视频在线| 国内一区二区视频| 亚洲一二三专区| 久久精品欧美日韩| 日韩一区二区三区视频| 一本大道av一区二区在线播放| 国模娜娜一区二区三区| 亚洲成人av一区| 亚洲免费av高清| 国产精品不卡在线观看| 久久久一区二区三区捆绑**| 91精品国产手机| 欧洲生活片亚洲生活在线观看| 国产不卡视频一区| 精品系列免费在线观看| 丝袜亚洲精品中文字幕一区| 亚洲乱码精品一二三四区日韩在线| 精品国产污污免费网站入口| 欧美日韩国产电影| 91国产福利在线| 91麻豆免费在线观看| 成人一区二区三区| 高清在线不卡av| 国产精品一区免费视频| 久久成人久久爱| 免费观看91视频大全| 午夜影视日本亚洲欧洲精品| 一个色综合av| 亚洲一线二线三线视频| 亚洲欧美日韩综合aⅴ视频| 欧美韩日一区二区三区四区| 久久人人爽人人爽| 久久精品亚洲一区二区三区浴池 | 国产亚洲制服色| 精品久久久久久亚洲综合网 | 精品国产亚洲在线| 日韩限制级电影在线观看| 3d动漫精品啪啪| 日韩免费成人网| 亚洲精品一区二区三区四区高清| 日韩你懂的在线观看| 日韩欧美在线综合网| 欧美成人精品福利| 久久久精品黄色| 国产欧美日韩在线| 中文字幕一区二区日韩精品绯色| 国产精品麻豆久久久| 最新国产精品久久精品| 亚洲精品大片www| 午夜精品视频一区| 精品一区精品二区高清| 国产激情一区二区三区四区 | 丰满亚洲少妇av| 成人午夜私人影院| www..com久久爱| 欧美伊人久久大香线蕉综合69| 在线视频亚洲一区| 3d动漫精品啪啪1区2区免费 | 精品第一国产综合精品aⅴ| 欧美mv日韩mv| 国产精品久久久久国产精品日日| 亚洲免费观看高清完整| 午夜久久久久久久久 | 一本久久a久久精品亚洲| 欧美视频一区二区三区| 欧美一级高清片| 国产蜜臀av在线一区二区三区| 中文字幕日本不卡| 日韩成人免费在线| 成人一道本在线| 欧美日韩中文字幕一区二区| 欧美va在线播放| 亚洲欧美日韩国产一区二区三区 | 日日摸夜夜添夜夜添国产精品| 久久激情五月激情| 成人一区二区三区视频在线观看| 在线观看免费成人| www成人在线观看| 一级女性全黄久久生活片免费| 美女www一区二区| 99久久精品一区| 欧美刺激脚交jootjob| 国产精品理论片在线观看| 日韩高清在线不卡| av不卡在线观看| 欧美一区二区三区免费| 国产精品女人毛片| 九一久久久久久| 欧美三级午夜理伦三级中视频| 国产亚洲精品久| 五月天久久比比资源色| www.日韩精品| 精品免费国产一区二区三区四区| 亚洲欧美日韩国产中文在线| 韩国精品一区二区| 欧美日韩国产免费一区二区| 国产精品美日韩| 麻豆91免费观看| 欧美日韩在线三区| 亚洲三级小视频| 丰满岳乱妇一区二区三区| 91精品国产高清一区二区三区| 亚洲欧洲日产国产综合网| 久久精品国产精品亚洲精品| 欧美视频一区二区三区| 国产精品久久久久久久久免费相片| 免费成人你懂的| 欧美色成人综合| 亚洲乱码中文字幕| 不卡电影一区二区三区| 久久伊人蜜桃av一区二区| 日韩电影在线一区二区| 欧美日韩中字一区| 亚洲精品欧美激情| 99精品久久只有精品| 国产精品午夜在线| 极品销魂美女一区二区三区| 91精品久久久久久久91蜜桃 | 免费在线成人网| 欧洲亚洲国产日韩| 亚洲卡通欧美制服中文| aaa国产一区| 亚洲欧洲一区二区三区| 成+人+亚洲+综合天堂| 中文字幕欧美三区| 国产精品亚洲а∨天堂免在线| 精品国产91洋老外米糕| 免费精品视频最新在线| 欧美一区二区免费| 日韩二区三区四区| 欧美一级日韩免费不卡| 免费在线看一区| 日韩精品一区二区三区视频播放| 日韩极品在线观看| 欧美一区二区三区免费在线看| 日本美女视频一区二区| 7777精品伊人久久久大香线蕉超级流畅| 一区二区三区四区精品在线视频| 91原创在线视频| 亚洲日穴在线视频| 在线视频观看一区| 天天综合色天天综合色h| 欧美妇女性影城| 蜜臀国产一区二区三区在线播放| 日韩欧美国产三级电影视频| 狠狠色综合播放一区二区| 精品国产免费一区二区三区香蕉| 国产一区二区三区电影在线观看| 国产欧美精品一区二区色综合朱莉| 国产一本一道久久香蕉| 欧美国产在线观看| 欧洲另类一二三四区| 日日夜夜精品视频天天综合网| 欧美成人精品3d动漫h| 国产一区二区伦理片| 国产精品成人在线观看| 欧美日韩卡一卡二| 久久爱www久久做| 国产精品人成在线观看免费 | 久久你懂得1024| 99vv1com这只有精品| 亚洲一级片在线观看| 日韩三级在线免费观看| 国产精品1区二区.| 一区二区三区美女视频| 日韩午夜激情av| 丁香激情综合国产| 亚洲丰满少妇videoshd| 久久五月婷婷丁香社区| 一本色道a无线码一区v| 秋霞av亚洲一区二区三| 国产精品毛片无遮挡高清| 欧美亚洲一区三区| 国产精品888| 亚洲国产精品久久人人爱| 精品噜噜噜噜久久久久久久久试看 | 麻豆国产一区二区| 国产精品久久免费看| 51午夜精品国产| 99视频一区二区| 伦理电影国产精品| 又紧又大又爽精品一区二区| 精品国产免费一区二区三区四区 | 国产成人免费9x9x人网站视频| 亚洲综合激情另类小说区| 日韩午夜精品视频| 在线精品视频免费观看| 国产精品一区2区| 丝袜脚交一区二区| 亚洲女人****多毛耸耸8| 26uuu精品一区二区在线观看| 色先锋aa成人| 国产美女一区二区| 欧美aaaaaa午夜精品| 亚洲一区二区精品视频| 国产精品高清亚洲| 欧美一二三区精品| 欧美探花视频资源|