欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Asp中调用dll组件

程序员文章站 2022-06-15 17:46:22
...

最近为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组件
            
    
    博客分类: asp aspdll3des 

 

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

 

Asp中调用dll组件
            
    
    博客分类: asp aspdll3des 

 

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

Asp中调用dll组件
            
    
    博客分类: asp aspdll3des 

 

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

Asp中调用dll组件
            
    
    博客分类: asp aspdll3des 

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

 

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 dll 3des