[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[转贴] [UMU WSH 教程](36) CAPICOM 对象入门

http://hi.baidu.com/umu618/blog/ ... 14c359f2de3254.html

  脚本实现 Base64 编码、MD5 Hash 的代码在网上可以找到很多,这些代码都是按照“算法”写出来的,所以都很长……如果您不关心算法,只想使用的话,那么使用 COM 对象是最好的方法。

  XP 后系统,%ProgramFiles%\Common Files\Microsoft Shared\CAPICOM\CapiCom.dll 提供了专门用于“加密解密编码解码”的 COM 对象,如果下面的例子代码提示无法创建对象,需要注册一下这个 CapiCom.dll。

  例子一:

// UMU @ 10:03 2009-04-14
// [UMU WSH 教程](36) CAPICOM 对象
// 36_CAPICOM_Base64.js

var objCAPI = new ActiveXObject("CAPICOM.Utilities");
var str = objCAPI.Base64Encode("UMU");
WScript.Echo("编码后:" + str);
WScript.Echo("解码后:" + objCAPI.Base64Decode(str));
WScript.Echo("BinaryToHex(\"小开\") = " + objCAPI.BinaryToHex("小开"));
delete objCAPI;

  例子二:

<?XML version="1.0" encoding="UTF-8" ?>
<!-- UMU @ 15:08 2009-4-14 -->
<!-- 36_CAPICOM_HashedData.WSF -->
<package>
<job id="36_CAPICOM_HashedData">

<object id="objCHD" progid="CAPICOM.HashedData" />
<reference object="CAPICOM.HashedData" />

<script language="JScript">
<![CDATA[
objCHD.Algorithm = CAPICOM_HASH_ALGORITHM_SHA1;
objCHD.Hash("UMU");
WScript.Echo("SHA1 = " + objCHD.Value);

objCHD.Algorithm = CAPICOM_HASH_ALGORITHM_MD5;
objCHD.Hash("UMU");
WScript.Echo("MD5 = " + objCHD.Value);
]]>
</script>

</job>
</package>

  更高级的加密解密对象,请参考文章:Writing a C++ Program with the CAPICOM Component to Encrypt and Decrypt Files

返回列表