VBS中通过调用CAPICOM对象实现SHA1&MD5加密
Const CAPICOM_HASH_ALGORITHM_MD2 = 1
Const CAPICOM_HASH_ALGORITHM_MD4 = 2
Const CAPICOM_HASH_ALGORITHM_MD5 = 3
Const CAPICOM_HASH_ALGORITHM_SHA1 = 0
Const CAPICOM_HASH_ALGORITHM_SHA_256 = 4
Const CAPICOM_HASH_ALGORITHM_SHA_384 = 5
Const CAPICOM_HASH_ALGORITHM_SHA_512 = 6
Dim HashedData
Set HashedData = CreateObject("CAPICOM.HashedData")
HashedData.Algorithm = CAPICOM_HASH_ALGORITHM_SHA1
HashedData.Hash "Demon"
WScript.Echo HashedData.Value
需要指出的是VBS的字符串是Unicode编码的,例如上面的字符串"Demon"在内存中的十六进制是4400 6500 6D00 6F00 6E00,这些Hash算法只关心数据的二进制值,不同编码的同一字符串的二进制值是不一样的,这就是算出来的值和PHP中(PHP默认的编码是UTF-8)的sha1("Demon")的值不一样的原因。更多CAPICOM的用法请自行查阅MSDN参考文档。
下面是我写的一个用VBS校验文件SHA1和MD5值的程序,将文件拖动到VBS上即可,缺点是不能处理太大的文件。
文中软件与vbs打包下载 http://xiazai.gimoo.net/201101/tools/capicom_dc_sdk_gimoo.rar
原文:http://demon.tw/programming/vbs-sha1-md5.html
用VBS获取Unix时间戳的函数代码
VBS中没有类似C标准库中的time函数,怎么获取Unix时间戳呢?乍一看很简单:FunctionUnixTime()UnixTime=DateDiff("s","01/01/197000:00:00",Now())EndFunction一个很想当然的
VBS模拟POST上传文件的代码
'XMLUploadClassClassXMLUploadPrivatexmlHttpPrivateobjTempPrivateadTypeBinary,adTypeTextPrivatestrCharset,strBoundaryPrivateSubClass_Initialize()adTypeBinary=1adTypeText=2SetxmlHttp=CreateObject("Msxml
由vbs sort引发.NET Framework之间的关系说明
如果问题就这么结束,那么也就不会有这篇文章。怪我手贱,在Google中输入vbssort,回车,看到一段代码,顿时泪流满面。SetoutputLines=_CreateObject("System.Col
编辑:广州明生医药有限公司
标签:字符串,代码,算法,文件,函数