Asp中调用dll组件
最近为Asp商户做一套实现咱们自己支付系统的测试接口程序,对Asp 一点都不熟,没办法只有硬着头皮试试,这个测试接口程序的难点也就在3des加密,因为某些接口字段需要进行3des加密,网上找了一些3des资料看了看,了解了下基本概念,后来网上找了一些3des Asp例子和Java加密出来的密文不一致,原来咱们使用的384位的密钥,Asp使用的192位的密钥,无奈的情况下想到是否能使用Asp来调用C#编写的dll组件(因为有asp.net 3des加密程序),后来网上找到Asp调用dll组件方法。当前首先要做的就是生成dll组件,后来下载安装了.net开发环境,照猫画虎的折腾,最终生成好了dll组件。
生成dll说明:
1)、每个类名对应一个接口名,接口名是类名前加上一个大写的I
2)、接口中声明的方法要使用属性 [DispId(n)]
3)、类必须有一个无参构造函数
1、强签com组件
项目右键属性,标签设置程序集名称为“IMELS”(当然,这个你可以设置为你喜欢的名字),输出类型为类库如图:
点击“程序集信息”,勾选“使程序集COM可见”,如图:
“签名”标签,勾选“为程序签名”,如图:
然后“在选择强名称密钥文件”下拉列表中选择密钥文件,如果没有密钥文件,就选择“新建”,这里我选择新建,如图:
在“密钥文件名称”栏里输入密钥的名称,你可以选择为密钥添加密码保护它,我这里没有使用密码。
2、注册dll到系统注册表
RegSvr32 "dll路径"命令注册不成功,注册时提示找不到diiregisterserver输入点。
最终发现C#编写的dll组件需采用.net framework 框架目录下的命令来注册,找到系统路径:C:\WINDOWS\Microsoft.NET\Framework(没有到360软件中下载.net framework 框架)
注册命令:regasm /codebase dll路径
卸载命令:regasm /unregister dll路径
3、Asp调用实例
Set threeDes=Server.CreateObject("ThreeDes_dll.ThreeDes") //加载dll组件 // CreateObject中参数说明:(命名空间。类名) amountDes=threeDes.Encrypt3DES(amount,desKey) //加密金额 amount=threeDes.Decrypt3DES(amountDes,desKey)//解密金额 response.Write(amount)//打印金额
上一篇: 还不懂类文件结构?看看这篇文章