亚洲欧美第一页_禁久久精品乱码_粉嫩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| 久久se精品一区二区| 日本一区二区视频在线观看| 99re这里只有精品首页| 亚洲成人免费电影| 久久亚洲二区三区| 99国产精品国产精品毛片| 亚洲午夜一二三区视频| 日韩精品综合一本久道在线视频| 懂色av一区二区三区免费观看| 国产精品自拍网站| 久久综合色综合88| 秋霞av亚洲一区二区三| 久久久九九九九| 欧美在线观看一区二区| 久久99精品久久只有精品| 国产精品福利影院| 日韩女优视频免费观看| 99久久综合狠狠综合久久| 奇米888四色在线精品| 国产精品日韩成人| 日韩美女天天操| 97久久精品人人澡人人爽| 蜜臀久久99精品久久久画质超高清 | 91精品国产欧美一区二区18| 成a人片亚洲日本久久| 精品在线播放午夜| 亚洲国产精品麻豆| 一级精品视频在线观看宜春院| 久久综合给合久久狠狠狠97色69| 在线视频你懂得一区| 国产suv精品一区二区三区| 免费成人av在线| 亚洲国产精品一区二区www在线| 国产精品福利一区二区三区| 久久久久久久电影| 欧美zozozo| 精品日韩在线一区| 欧美一区二区三区在线视频| 欧美亚洲国产一区在线观看网站| 国产精品66部| 高清国产一区二区三区| 国产精品小仙女| 国产成人亚洲精品青草天美| 国产激情视频一区二区在线观看 | 国产乱理伦片在线观看夜一区| 日产欧产美韩系列久久99| 午夜精品久久久久久久99樱桃| 亚洲午夜激情网页| 日韩精品一区第一页| 视频在线在亚洲| 秋霞成人午夜伦在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 美女任你摸久久| 激情六月婷婷久久| 懂色av一区二区夜夜嗨| 成人一道本在线| 日本高清无吗v一区| 欧美高清www午色夜在线视频| 国产欧美一区二区精品婷婷| 久久久久久久综合色一本| 中文字幕欧美日本乱码一线二线| 国产精品国产自产拍在线| 亚洲免费观看高清完整版在线观看 | 成人美女视频在线观看18| 97久久精品人人澡人人爽| 欧美日韩国产区一| 久久综合狠狠综合久久综合88| 国产精品久久久久婷婷二区次| 亚洲人快播电影网| 久草热8精品视频在线观看| 处破女av一区二区| 91超碰这里只有精品国产| 久久久精品免费网站| 亚洲综合激情网| 色老头久久综合| 精品一区二区国语对白| 欧美日韩午夜在线视频| 国产性天天综合网| 日韩电影在线免费| 色香蕉久久蜜桃| 国产欧美日韩精品一区| 亚洲成人高清在线| 成人激情综合网站| 精品免费国产一区二区三区四区| 国产精品传媒入口麻豆| 久久99精品国产麻豆婷婷洗澡| 91麻豆精品视频| 国产欧美日韩综合精品一区二区 | 国产伦精品一区二区三区视频青涩| 色呦呦国产精品| 亚洲高清在线视频| av亚洲精华国产精华| 久久久久青草大香线综合精品| 视频一区视频二区中文字幕| 日本精品一区二区三区高清| 国产精品免费看片| 国产jizzjizz一区二区| 久久久综合九色合综国产精品| 天天综合网 天天综合色| 欧美视频一区二区三区四区| 亚洲同性gay激情无套| 成人app网站| 国产精品免费免费| 91小视频免费观看| 亚洲乱码精品一二三四区日韩在线| 成人18视频在线播放| 国产精品国产三级国产a| 东方aⅴ免费观看久久av| 国产欧美日韩在线视频| 丁香另类激情小说| 国产精品久久久久天堂| 一本色道**综合亚洲精品蜜桃冫| 亚洲青青青在线视频| 色婷婷精品久久二区二区蜜臂av | 亚洲欧美在线视频| 99久久免费精品高清特色大片| 亚洲欧洲三级电影| 色av成人天堂桃色av| 五月开心婷婷久久| 26uuu亚洲综合色欧美| av中文字幕一区| 偷窥国产亚洲免费视频| 日韩精品最新网址| 成人免费毛片a| 亚洲一区二区五区| 精品国产髙清在线看国产毛片 | 一区视频在线播放| 91成人国产精品| 激情图片小说一区| 亚洲精品伦理在线| 欧美精品一区二区三区蜜臀| av在线综合网| 免费亚洲电影在线| 欧美三级日韩三级国产三级| 日韩美女视频一区| 成人综合激情网| 亚洲超碰精品一区二区| 久久亚洲二区三区| 欧美日韩一区久久| 丁香一区二区三区| 免费三级欧美电影| 亚洲欧美日韩一区二区三区在线观看| 欧美日韩mp4| 欧美精品一区二区三区很污很色的 | 久久精品日韩一区二区三区| 欧美亚洲国产一区二区三区va| 国产69精品一区二区亚洲孕妇| 午夜电影一区二区| 亚洲欧美二区三区| 国产精品丝袜久久久久久app| 欧美一区二区三区在线电影 | 欧美日韩中文一区| 成人av中文字幕| 国产一区二区三区在线观看免费视频 | 一区二区三区四区不卡在线| 国产农村妇女精品| 久久综合九色综合久久久精品综合| 日本韩国欧美在线| 91麻豆国产自产在线观看| 成人av综合在线| 国产精品一品视频| 国产老妇另类xxxxx| 蜜臀久久久久久久| 日韩av网站在线观看| 午夜a成v人精品| 日本三级韩国三级欧美三级| 亚洲va国产天堂va久久en| 亚洲在线视频网站| 五月开心婷婷久久| 日产国产欧美视频一区精品| 毛片基地黄久久久久久天堂| 全国精品久久少妇| 久久99精品视频| 国产不卡一区视频| 99国产精品久久久久久久久久| 色狠狠一区二区| 欧美日韩免费一区二区三区| 欧美日韩高清影院| 欧美一区二区免费| 久久久亚洲欧洲日产国码αv| 国产欧美精品在线观看| 成人欧美一区二区三区| 亚洲午夜精品网| 免费看欧美美女黄的网站| 国内外成人在线| 成人av在线影院| 欧美日韩免费在线视频| 欧美精品一区二区三区蜜桃| 国产精品污网站| 亚洲一区二区三区爽爽爽爽爽| 人人狠狠综合久久亚洲| 高清日韩电视剧大全免费| 色婷婷国产精品综合在线观看| 911国产精品| 国产精品不卡视频| 日本不卡一区二区|