在ASP中使用CAPICOM库

1、下载capicom,置于syswow64文件夹,并注册。管理员身份打开cmd,运行:

regsvr32 c:\windows\syswow64\capicom.dll

提示DllRegisterSever成功。

2、重启IIS服务。

3、加密代码

Set objCrypto = Server.CreateObject("CAPICOM.EncryptedData")
objCrypto.content = ThePlainText
objCrypto.setSecret password
encryptstring = objCrypto.Encrypt

4、解密代码

Set objCrypto = Server.CreateObject("CAPICOM.EncryptedData")
objCrypto.setSecret password
objCrypto.Decrypt encryptstring
ThePlainText = objCrypto.content

5、神奇的是,无论是什么样的ThePlainText+password组合,生成的encryptstring竟然一模一样。

除非capicom在硬盘上写入了文件,不然总觉得不可能。但它又能用。把全部一模一样的encryptstring和不一样的password放进去解密,照样解出不一样的结果。

硬盘上也搜不到env文件,只有在加解密的瞬间,temp文件夹中有个Jet开头的tmp文件一闪而过。暂时没有搞清楚原理。