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

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

?? md5.bas

?? 計件工資統計系統 我的畢業設計 包含論文
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
Attribute VB_Name = "md5"


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
    padding(6) = 0
    padding(7) = 0
    
    MD5Update 8, padding
End Sub

'

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲无人区一区| 欧美成人精品福利| 亚洲成人你懂的| 91丨porny丨国产入口| 一片黄亚洲嫩模| 精品国产欧美一区二区| 在线视频欧美区| 麻豆国产一区二区| 亚洲女同一区二区| 国产欧美日韩在线| 日韩精品影音先锋| 成人网男人的天堂| 美女www一区二区| 三级不卡在线观看| 2021中文字幕一区亚洲| 国产精品夜夜嗨| 亚洲va欧美va人人爽午夜| 国产亚洲一区二区在线观看| 不卡视频免费播放| 国产一区二区三区四区五区入口 | 国产二区国产一区在线观看| 欧美日韩一区二区电影| 成人黄色大片在线观看| 国产成人综合视频| 黑人巨大精品欧美黑白配亚洲| 国模冰冰炮一区二区| 国产一区二区三区四区五区入口| 亚洲精品中文在线影院| 亚洲欧洲精品天堂一级| 国产精品网曝门| 日本高清成人免费播放| 久久久久99精品一区| 精品福利在线导航| 91亚洲精品乱码久久久久久蜜桃| 亚洲午夜精品久久久久久久久| 精品国产露脸精彩对白| 久久久综合精品| 国产精品欧美综合在线| 国产亚洲综合在线| 国产欧美日本一区二区三区| 中文字幕精品在线不卡| 国产精品欧美久久久久无广告| 欧美精品一区二区不卡 | 久久国产精品99精品国产 | 91一区二区三区在线观看| 国产福利一区二区三区| 成人avav影音| 欧美最猛性xxxxx直播| 欧美顶级少妇做爰| 国产激情精品久久久第一区二区| 国产精品影视天天线| 成人黄色777网| 日一区二区三区| 韩国女主播成人在线观看| jiyouzz国产精品久久| 蜜桃一区二区三区四区| 国产高清成人在线| 日本丶国产丶欧美色综合| 99久久精品国产观看| 在线观看免费亚洲| 精品久久国产字幕高潮| 欧美唯美清纯偷拍| 在线免费观看成人短视频| 91精品综合久久久久久| 国产欧美一区二区在线观看| 国产精品久久久久一区二区三区 | 国产精品色呦呦| 亚洲精品一二三四区| 日本不卡在线视频| 国产在线精品不卡| 亚洲精品一区二区在线观看| 亚洲欧洲精品一区二区精品久久久 | 91福利精品视频| 日韩欧美一区二区免费| 椎名由奈av一区二区三区| 亚洲黄一区二区三区| 久久爱另类一区二区小说| 国产精品自拍毛片| 国产不卡在线播放| 日韩欧美综合一区| 亚洲欧美另类小说视频| 久国产精品韩国三级视频| 午夜精彩视频在线观看不卡| 国产精品久久久久久久第一福利 | 欧美日韩成人高清| 久久久不卡网国产精品一区| 午夜欧美2019年伦理| 成人av影视在线观看| 久久奇米777| 狠狠色丁香婷综合久久| 国产成人综合视频| 久久人人爽人人爽| 老司机精品视频在线| 国产不卡视频一区二区三区| 精品日韩av一区二区| 国产精品成人免费在线| 成人动漫视频在线| 亚洲国产岛国毛片在线| 国产999精品久久| 欧美tickling网站挠脚心| 一区二区三区中文字幕精品精品 | 色综合久久久久综合| 国产精品视频一二三区| 九九精品一区二区| 色婷婷精品久久二区二区蜜臀av| 久久精品一区二区| 国产精品一卡二卡在线观看| 日韩精品综合一本久道在线视频| 午夜精品视频一区| 欧美日韩成人在线| 免费看欧美女人艹b| 日本精品一级二级| 亚洲一区二区三区美女| 在线视频一区二区三| 日韩中文字幕亚洲一区二区va在线 | 午夜一区二区三区视频| 91麻豆国产在线观看| 一区二区三区色| 在线不卡免费欧美| 久久成人羞羞网站| 久久综合色天天久久综合图片| 精品一区二区三区免费播放| 久久亚洲综合av| 国产精品一区二区三区四区 | 国产在线视频一区二区| 一二三四社区欧美黄| 日韩欧美一区二区视频| 欧美日本一区二区| 亚洲激情校园春色| 91免费观看国产| 欧美高清在线一区| 国产精品一区二区三区四区| 91精品国产一区二区人妖| 午夜av一区二区| 欧美日韩亚洲综合在线| 亚洲人精品午夜| 色狠狠桃花综合| 亚洲国产精品久久久久婷婷884| 91在线精品一区二区| 亚洲精品乱码久久久久久| 色婷婷狠狠综合| 一个色在线综合| 欧美日韩色综合| 日本午夜精品一区二区三区电影| 91国模大尺度私拍在线视频| 一区二区三区资源| 欧美日韩你懂得| 日韩成人一区二区三区在线观看| 3d动漫精品啪啪一区二区竹菊| 日韩黄色免费网站| 欧美日韩国产高清一区| 日本伊人精品一区二区三区观看方式| 欧美日本乱大交xxxxx| 免费高清不卡av| 国产色一区二区| thepron国产精品| 蜜臀久久99精品久久久久久9| 日本精品一区二区三区高清| 最新国产成人在线观看| 色综合 综合色| 亚洲18女电影在线观看| 欧美www视频| 成人av在线资源网| 亚洲永久免费视频| 91精品国模一区二区三区| 久久99精品国产| 欧美极品aⅴ影院| 欧美在线免费观看视频| 免费欧美日韩国产三级电影| 精品三级av在线| 国产一区二区在线影院| 亚洲国产精品成人综合色在线婷婷| 91啦中文在线观看| 奇米888四色在线精品| 日本一区二区综合亚洲| 欧美伊人久久久久久久久影院 | 精品久久久三级丝袜| 国产91精品一区二区| 亚洲国产综合91精品麻豆| 男女激情视频一区| 国产精品久久三区| 欧美日高清视频| 国产.欧美.日韩| 午夜伊人狠狠久久| 国产欧美日韩三区| 国产精品一区二区久久精品爱涩| 久久久不卡网国产精品一区| 欧美性大战久久久久久久蜜臀| 久久精品久久久精品美女| 亚洲日本一区二区| 久久男人中文字幕资源站| 91精品福利视频| 亚洲妇熟xx妇色黄| 国产女人aaa级久久久级| 欧美久久一区二区| av高清久久久| 国产成人综合亚洲网站| 日韩va欧美va亚洲va久久| 1024成人网| www.久久久久久久久|