2011年01月 存档

md5sum for windows

2011年01月12日,星期三

和前面一篇一样,Linux中md5sum命令的C语言简单实现。

[download id=57]

sha1sum for windows

2011年01月11日,星期二

Linux可以用sha1sum命令来校验文件的sha1值,Windows下也不乏sha1校验的工具。其实自己实现一个简单的sha1sum程序并不难,只要知道sha1算法就可以了,不知道也不要紧,复制粘贴总会吧。

下面就是我“复制粘贴”出来的sha1sum程序,纯ANSI C实现。

[download id=56]

用VBS检测U盘插入和弹出事件(二)

2011年01月9日,星期日

鉴于很多人反映之前写的那篇在XP下无效,做了一下修改。说是修改,其实是直接复制粘贴脚本专家的代码。

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colEvents = objWMIService.ExecNotificationQuery _
    ("Select * From __InstanceOperationEvent Within 10 Where " _
        & "TargetInstance isa 'Win32_LogicalDisk'")

Do While True
    Set objEvent = colEvents.NextEvent
    If objEvent.TargetInstance.DriveType = 2 Then 
        Select Case objEvent.Path_.Class
            Case "__InstanceCreationEvent"
                Wscript.Echo "Drive " & objEvent.TargetInstance.DeviceId & _
                    " has been added."
            Case "__InstanceDeletionEvent"
                Wscript.Echo "Drive " & objEvent.TargetInstance.DeviceId & _
                    " has been removed."
        End Select
    End If
Loop

参考链接:How Can I Determine When a Removable Drive Gets Connected?

用VBS实现PHP的md5_file函数

2011年01月4日,星期二
Function md5_file(filename, raw_output)
    Dim HashedData, Utility, Stream
    Set HashedData = CreateObject("CAPICOM.HashedData")
    Set Utility = CreateObject("CAPICOM.Utilities")
    Set Stream = CreateObject("ADODB.Stream")
    HashedData.Algorithm = 3
    Stream.Type = 1
    Stream.Open
    Stream.LoadFromFile filename
    Do Until Stream.EOS
        HashedData.Hash Stream.Read(1024)
    Loop
    If raw_output Then
        md5_file = Utility.HexToBinary(HashedData.Value)
    Else
        md5_file = HashedData.Value
    End If
End Function

参考链接:HashedData Object

用VBS实现PHP的sha1_file函数

2011年01月3日,星期一
Function sha1_file(filename, raw_output)
    Dim HashedData, Utility, Stream
    Set HashedData = CreateObject("CAPICOM.HashedData")
    Set Utility = CreateObject("CAPICOM.Utilities")
    Set Stream = CreateObject("ADODB.Stream")
    HashedData.Algorithm = 0
    Stream.Type = 1
    Stream.Open
    Stream.LoadFromFile filename
    Do Until Stream.EOS
        HashedData.Hash Stream.Read(1024)
    Loop
    If raw_output Then
        sha1_file = Utility.HexToBinary(HashedData.Value)
    Else
        sha1_file = HashedData.Value
    End If
End Function

参考链接:HashedData Object