使用BlackBerry Transcoder API集成第三方加密方案(二)

作者: 邓明轩

 

创建服务器端 程序

 

 

如以 端的序是 dll 式部 服务 密程 c 语言编译 dll 具。为方便,本使 Vis ua l C++ 6 .0 为开 据自 似工

启动 Vis ua l C + + 6 .0 点击 F il e -> N ew 新的 图:

 

 

 

 

 

 

 

 

 

F il e- >N ew 统会向导 P r o ject s 项目 P r o ject 标签 W in 3 2 Dyn am ic-Lin k Lib r ar y 创建 W in3 2 dl l P r o j ect Nam e ”一

              本例     My T r ans c o der                 文件         使  

c : /w o rk s pa ce/v c 6 /My T r an s c o der ”作 项目 文件目 持其 ,点击 O K ”, 系统个名 My T r ans c o der 建对 w o rk s pa ce 示意 图如

 

 

 

在项 提示类型 dll 项目写方 便,

A sim pl e Dl l p r o ject 是创 dll 本的 择后 点击“ F in ish

 

 

向导 示框 点击 O K 确认 框。

 

 

 

MyT r ans c o der 后可 系统 S t dAfx. h,S t dAfx. cp p

My T r ans c o de r .cp p 我们 需要 M yT r ans c o de r .c pp 完成 T r a ns c o der AP I 的实 现。双击左 导航条 中的 My T r ans c o der .c pp ”文 以打开该文 ,可以 看到 系统生成 Dl lM ai n 法是 dll 的入系统 自动 图:

 

 

 

因为要使   T r ans c o der AP I 一步 工作就是   T r ans c o der AP I 提供 头文

件“ BE S T r ans c o de rAP I. h 引入 BE S T r ans c o derAP I. h ”文 档提 也可 以在 Bla ck B er r y 网站 上下 BE S T r an sc o derAP I. h 件后 在操 作系 个文 本例 C : /w o rk s pa ce /v c 6 /My T r ans c o der 目录 Vis ua l C++ 6 .0 中选 H eade r F il es ,点 击右 Add F il es t o F o ld er ”, 然后 BE S T r a ns c o derAP I. h 就可 以将 BE S T r ans c o derAP I. h 到当 中。

 

 

 

引入头文件“ BE S T r ans c o de rAP I. h ”后结果如下图, 兴趣的读者可以双击该件打开 了解 BE S T r an sc o derAP I. h 法。

 

 

 

 

引入头文件“ BE S T r ans c o de rAP I. h ”后,在左边 中双击“ My T r ans c o de r .c pp ”文件,编

My T r ans c o de r .c pp 文件 使 代码便 统生 成的 以下粘贴 My T r ans co der .c pp

 

 

// My T r ans c o de r .c pp : De fin es t he en t ry po in t f o r t he DL L app li ca t io n.

 

 

#in cl ud e " s t da fx.h "

#in cl ud e " BE S T r ans c o der AP I. h"

#in cl ud e <io s t r eam >

 

 

F ILE * logF il e;

ch ar LogF il eN am e[ 6 4 ]="c :// T r ans c o der // T r ans c o de r -Log . t xt" ;

 

 

 

DEF INE_ BE S _T RA NSC OD E R_ DLL

 

 

 

BOO L AP IE NTR Y Dll Ma in ( HA NDLE h Mo du le,

DW ORD    ul _ r easo n_f o r _c al l, LP V OI D lp R ese r v ed

)

{

prin t f( " Lo ad in g Dl l" ) ;

 

r et urn T RU E ;

}

 

 

__ decls pec ( dl l e xpo rt )

in t __cdec l Lo ad D LL( )

{

 

 

logF il e = f o pen( Log Fil eN am e , "a" ) ;

 

 

 

fprin t f( logF il e,"t ryin g t o c al l Lo ad Dl l" ) ;

 

 

r et urn 0 ;

}

 

 

__ decls pec ( dl l e xpo rt )

v o id __cd ecl F r ee DL L( )

{

 

 

fprin t f( logF il e,"Dl l fre e") ;

}

 

 

__ decls pec ( dl l e xpo rt )

uns ig ned c ha r __ cd ecl G et ID ( )

{

uns ig ned lo ng T r ans c o de rID =2 0 ;

 

 

fprin t f( logF il e,"t ryin g t o g et I D" ) ;

 

 

r et urn ( uns ig ned c ha r ) T r ans c o de rID ;

}

 

 

__ decls pec ( dl l e xpo rt )

in t __cdec l W il l T r ans c o de( c o ns t T r ans c o derCo n t e xt *c o ns t c o n t e xt )

{

r et urn 0 ;

}

 

 

__ decls pec ( dl l e xpo rt )

in t __cdec l En c o de ( T r ans co derIn putSt r eam       *c o ns t in put , T r a ns c o derOut putSt r eam  *c o ns t o ut put , c o ns t T r ans c o der Co n t e xt *c o ns t c o n t e xt )

{

 

fprin t f( logF il e,"t es t in g enc o de is r un ni ng no w") ;

uns ig ned c ha r r ead C;

fprin t f( logF il e,"     /n enc o de r ead ch ar : " ) ;

 

 

whi le ( in put - >R ead ( & r ead C) )

{

fprin t f( logF il e,"%c" ,r ea dC) ;

o ut put ->W rit e( r eadC ) ;

}

 

 

r et urn 0 ;

}

 

 

__ decls pec ( dl l e xpo rt )

in t __cdec l D ec o de( T r ans c o derIn putSt r eam       *c o ns t in put , T r a ns c o derOut putSt r eam  *c o ns t o ut put , c o ns t T r ans c o der Co n t e xt *c o ns t c o n t e xt )

{

fprin t f( logF il e,"     /n dec o de r ead c ha r : " ) ;

uns ig ned c ha r r ead C;

whi le ( in put - >R ead ( & r ead C) )

{

fprin t f( logF il e,"%c" ,r ea dC) ;

o ut put ->W rit e( r eadC ) ;

}

 

 

r et urn 0 ;

}

 

编辑 图:

 

 

Bui ld - >Bui ld MyT r ans c o der .d ll 单生   dll 使   Vis ua l C ++ 6 . 0

                  dll                      Debu g                     

c : /w o rk s pa c e /v c6/ My T r ans c o der /D ebug 录。

 

   

 

 

如果 误的 误提 重新编译 成功 加解 在后 这里使 用的 加解 密过 是单 纯地 出接 使 的话 作就 例代码中 Enc o de Dec o de 使 真正 作。

 

 

 
 

 

 

BlackBerry SDK下载

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值