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”(当然,这个你可以设置为你喜欢的名字),输出类型为类库如图:

Asp中调用dll组件_第1张图片

 

点击“程序集信息”,勾选“使程序集COM可见”,如图:

 

Asp中调用dll组件_第2张图片

 

“签名”标签,勾选“为程序签名”,如图:

 

然后“在选择强名称密钥文件”下拉列表中选择密钥文件,如果没有密钥文件,就选择“新建”,这里我选择新建,如图:

Asp中调用dll组件_第3张图片

在“密钥文件名称”栏里输入密钥的名称,你可以选择为密钥添加密码保护它,我这里没有使用密码。

 

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)//打印金额

  

 

 

 

你可能感兴趣的:(asp)