51Testing软件测试论坛
标题:
QTP有没有SHA1或者MD5的方法?如果没有,我们能用VBScript写一个吗?
[打印本页]
作者:
willland
时间:
2011-9-5 20:10
标题:
QTP有没有SHA1或者MD5的方法?如果没有,我们能用VBScript写一个吗?
本帖最后由 willland 于 2011-9-5 21:52 编辑
搞QTP脚本中碰上一个比较麻烦的事情,需要用到 SHA1 的方法,不知道QTP有没有现成的SHA1方法?
如果没有,我们自己能用VBScript写一个吗?
求 SHA1 方法!!!!!!
备注:在51testing中一直干的都是求助的活,实在是实力有限啊
作者:
lyscser
时间:
2011-9-5 20:42
SHA1……没听说过,爱莫能助
作者:
willland
时间:
2011-9-5 21:34
本帖最后由 willland 于 2011-9-5 21:51 编辑
分享是王道。。。搞了几个小时,终于搜出了一个可用的方法。。。不容易啊,申请加精。。。
'--------------------------------------------------------------------------------------------------------------------------
'Summary: 调用capicom.dll计算哈希值(下载并注册组件capicom.dll)
'Author: 刘汝锋
'Date: 2011.08.30
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
'将字符转化为二进制格式
Function Str2Strb(str)
For i = 1 to Len(str)
tmp = Mid(str,i,1)
reStr = reStr & chrB(ascB(tmp))
Next
Str2Strb = reStr
End Function
'函数Hash()
Function Hash(str)
Dim HashedData
Set HashedData = CreateObject("CAPICOM.HashedData")
HashedData.Algorithm = CAPICOM_HASH_ALGORITHM_SHA_1
'将"SHA_1"换成"MD5"就可以计算MD5码了
HashedData.Hash Str2Strb(str)
Hash = LCase(HashedData.Value)
'LCase()表示返回小写字符
End Function
作者:
willland
时间:
2011-9-5 21:34
灰常感谢“砖家叫兽”,每帖必回
作者:
lyscser
时间:
2011-9-6 10:04
还是不懂啊,何不给我们完整的讲解一下……
作者:
jacky101521
时间:
2011-9-17 23:26
回复
1#
willland
感谢楼主的分享,这个函数确实可以实现一次sha1加密,可进行第二次加密的时候,结果就不一样了,不知道是函数的问题还是我应用错误?求解答。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2