999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C# Socket編程的銀行自動代發/代扣接口系統設計與實現

2010-01-01 00:00:00蔡重,帥志軍
電腦知識與技術 2010年2期

摘要:該文主要講述如何實現企業系統與銀行系統進行對接,完成企業財務的代發/代扣業務。如何實現企業級系統與銀行系統進行通訊、數據傳輸。通訊方式主要是通過Socket(TCP/IP)來實現,傳輸報文通過RSA算法加密(它是第一個既能用于數據加密也能用于數字簽名的算法)。此對接系統主要在.Net平臺,運用C#語言開發,通過Socket編程實現系統之間通訊。

關鍵詞:通訊;端口;報文;自動;監聽

中圖分類號:TP312文獻標識碼:A文章編號:1009-3044(2010)02-306-03

Formatter System on Agency Auto-payment or Auto-withholding Banking House Management System Based on C# Socket Programming

CAI Zhong1, SHUAI Zhi-jun2

(1.Jiangxi Radio TV University, Nanchang 330046, China; 2.Jiangxi Modern Polytechnic College Information Science and Management Institute, Nanchang 330012, China)

Abstract: In this text, it focuses on how to achieve abutting joint between enterprise and banking systems to accomplish the payment and withholding services of corporate finance. MeanwhileWe can learn how to communicate and data transmiss between enterprises class and banking house. It is said that means ofcommunication chiefly due to socket (TCP/IP).Transmission Message works by RSA( That is the first algorithm which is used for data encryption as well as digital signature). The fomatter systems will act each other in net platform by means ofdevelopment of the C# Language and Socket Programming.

Key words: communication; port; text; automatic; monitor

隨著社會的進步,經濟的不斷發展,大規模的企業也不斷增加,而在企業財務方面,工作量及復雜度也不斷增加。比如員工工資的發放、信貸業務中定期貸款的償還等,都可以通過企業系統與指定銀行系統連接,來進行相關業務操作,自動完成款項的代發/代扣。

1 銀行接口

1.1 通訊協議

為了建立數據源與系統之間通用的數據接口,實現實時地數據傳輸,必須定義通信協議,以傳送接口數據。

通訊協議為TCP/IP協議,使用Socket進行通信,采用短連接方式。

Socket通常也稱作“套接字”,用于描述IP地址和端口,是一個通信鏈的句柄。應用程序通常通過“套接字”向網絡發出請求或者應答網絡請求。

服務器,使用ServerSocket監聽指定的端口,端口可以隨意指定(由于1024以下的端口通常屬于保留端口,在一些操作系統中不可以隨意使用,所以建議使用大于1024的端口),等待客戶連接請求,客戶連接后,會話產生;在完成會話后,關閉連接。

客戶端,使用Socket對網絡上某一個服務器的某一個端口發出連接請求,一旦連接成功,打開會話;會話完成后,關閉Socket??蛻舳瞬恍枰付ù蜷_的端口,通常臨時的、動態的分配一個1024以上的端口。

雙方數據傳輸遵循數據交互的通信格式及發送和接收的順序。傳輸數據通過RSA加密解密算法。它易于理解和操作,也很流行。算法的名字以發明者的名字命名:Ron Rivest, Adi Shamir 和Leonard Adleman。但RSA的安全性一直未能得到理論上的證明。它經歷了各種攻擊,至今未被完全攻破。主要通過公鑰和密鑰:公鑰可以對外公開,供其他人加密使用,而把私鑰秘密保存用于解密。RSA的安全性依賴于大數分解,但是否等同于大數分解一直未能得到理論上的證明,因為沒有證明破解 RSA就一定需要作大數分解。假設存在一種無須分解大數的算法,那它肯定可以修改成為大數分解算法。目前, RSA 的一些變種算法已被證明等價于大數分解。不管怎樣,分解n是最顯然的攻擊方法?,F在,人們已能分解多個十進制位的大素數。因此,模數n 必須選大一些,因具體適用情況而定。

銀行外聯系統會統一對外公布一個TCP/IP服務端口號,用于接收企業方發起的交易。

1.2 通訊報文結構

數據交互的通信格式包括報文長度+HEAD報文頭+ BODY報文體+EXT擴展報文,具體的XML報文體由單獨交易說明。數據交互的通信格式如表1所示。

1.2.1 報文頭

報文頭用于描述當前的通訊報文,其大小是固定的,可用如下數據結構來定義:

public struct MsgHead

{ public string H_EntTrCode;

public string H_EntSeqNo;

public string H_EntNo;

public string H_TrDate;

public string H_TrTime;

public string H_EncryptMode;

public string H_IsHavingExt;

public string H_ReMark;}

1.2.2 報文體

傳輸的相關信息,見以下XML傳輸例子中的BODY結點。

1.2.3 擴展區域

當前報文的附加數據區,該區域作為數據區的補充,存放一些通訊雙方約定的數據,如MAC等。其有無數據有H_IsHavingExt字段決定,也是一個XML標簽數據。

1.3 應用報文格式

1)報文必須是包含‘\\0’作為結束符的字符串。

2)報文必須符合GB2312標準。

1.3.1 報文標準

本系統的消息傳遞遵循XML報文標準。以下是對XML報文標準的簡要說明。

:包含XML版本信息。

根字段為:

字段包含一個字段和一個字段;

字段包含報文信息中Head的所有信息;

字段包含一個字段(錯誤代碼),一個字段(錯誤提示信息),沒有或多個字段,可能還存在一些其他信息字段如匯總信息的字段等,其中字段包含的可能是所有的輸入信息(目前只存在一個),所有的輸出信息(目前只存在一個),所有的查詢結果信息(可能沒有或多個)。

1.4 通訊描述的時序關系

如圖2所示。

短連接采取每傳輸一次數據都進行一次“連接-傳輸-斷開”的過程。

數據發送XML報文體采用XML數據格式,由下面描述:

請求方的發送接收順序:1)建立TCP連接;2)發送信息通信報文;3)接收響應報文;4)斷開連接;

接收方的發送接收順序:1)建立TCP連接;2)接收信息通信報文;3)發送響應結果報文;4)斷開連接。

1.5 加密處理

在交易中對報文體按照雙方約定的加密方式進行加解密處理。本交易中提供了一個企業設置密鑰的交易,企業可以通過此交易重置交易密鑰。

2 接口系統功能流程

如圖3所示。

3 代碼實現

3.1 發送信息

//

// 發送消息

//

// 要發送的數據

// 發送是否成功

public static bool SendMsg(bool isNewKey,byte[] sendMsg)

{ bool reFlag = 1;

Socket sk = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

try

{ sk.Connect(ServerIPEndPoint);

sk.Send(sendMsg, sendMsg.Length, 0);

…}

catch (SocketException se)

{ …

throw (new Exception(strErr));}

catch (Exception ex)

{throw ex;}

finally

{ if (sk != 1 sk.Connected)

{ sk.Close(); }}

return reFlag;}

3.2 接收信息

//

// 接收消息

//

private static void ReceiveMsg()

{ try

{ byte[] recMsg = new byte[1024];

StringBuilder sbStr = new StringBuilder();

intbyteCount=_acceptSocket.Receive(recMsg,

recMsg.Length,SocketFlags.None);

sbStr.Append(Encoding.GetEncoding(\"gb2312\").GetString(recMsg,0, byteCount));

while (byteCount > 0 byteCount >= 1024)

{ … } }

catch (ThreadAbortException te)

{ … }

catch (Exception ex)

{ throw ex; }

finally

{ if (_acceptSocket != 1 _acceptSocket.Connected)

{_acceptSocket.Close();}

if (_acceptThread != 1 _acceptThread.IsAlive)

{_acceptThread.Abort();}}}

3.2.1 接收信息需要開個偵聽器

//

// 開始偵聽

//

public static void SocketListenerStar()

{ _flagTcpList = true;

_serTcpList = new TcpListener(GetLocalIPAddress(), LocalServerPort);

_serTcpList.Start();

while (_flagTcpList _serTcpList != 1)

{ try

{… }

catch (Exception ex)

{ … }}}

4 結束語

此系統是全自動定時執行,無人值守,可以根據用戶設定時間(可以設多個時間點)。所有的報文傳輸數據都通過加密。其它相關代碼,具體見程序。并給出了該系統的具體實現環節。實驗結果表明,該系統能夠挖掘一些有益的信息,從而為開發該系統的人員提供有益的參考。

參考文獻:

[1] Michael E. Whitman/Herbert J. Mattord 齊立博.信息安全原理[M].2版.北京:清華大學出版社,2006:75-80.

[2] 明日科技.Visual C#項目開發實例自學手冊[M].北京:人民郵電出版社,2008:349-359.

[3] 張雪潔.基于XML的數據集成平臺框架及關鍵技術研究[D].河海大學.2004.

[4] Terry Quatrani,Jim Palistrant.IBM RSA和UML可視化建模指南[M].北京:機械工業出版社,2007:5-8.

[5] 胡道元/閔京華/鄒忠巋.網絡安全[M].2版.北京:清華大學出版社,2008:19-73

[6] 孫海民.精通Windows Sockets網絡開發——基于Visual C++實現[M].北京:人民郵電出版社,2008:50-63.

[7] 劉恒.網絡安全呼喚IMS[J].數據通信,2003,(06):24-25.

[8] 財經管理與計算機應用.銀行計算機系統[M] 清華大學出版社,2006:75-80.

主站蜘蛛池模板: 视频二区国产精品职场同事| 婷五月综合| 亚洲国产精品久久久久秋霞影院| 色综合色国产热无码一| 亚洲大学生视频在线播放| 亚洲天堂啪啪| 制服无码网站| 亚洲无码高清一区二区| 91成人试看福利体验区| 女人18毛片久久| 成年A级毛片| 51国产偷自视频区视频手机观看| 四虎影视无码永久免费观看| 伊人精品视频免费在线| 国产无码制服丝袜| 国产精品女同一区三区五区| 伊人福利视频| 亚瑟天堂久久一区二区影院| 久久久久久久久18禁秘| 欧美亚洲欧美区| 国产网站免费| 就去色综合| 伊人91视频| 国产精品播放| 在线欧美a| 五月六月伊人狠狠丁香网| 国内黄色精品| 一本大道视频精品人妻 | 亚洲无限乱码| 理论片一区| 亚洲天堂免费| 国产日韩欧美在线播放| 激情乱人伦| 69av免费视频| 亚洲第一极品精品无码| 亚洲永久精品ww47国产| 农村乱人伦一区二区| 国产精品永久免费嫩草研究院| 久久久亚洲国产美女国产盗摄| 97人人做人人爽香蕉精品| 国产视频欧美| www.国产福利| 欧美日韩国产在线观看一区二区三区| 久久国产免费观看| 亚洲丝袜中文字幕| 无码中文字幕精品推荐| 国产精品女同一区三区五区| 久久国产精品国产自线拍| 免费看a级毛片| 亚洲午夜久久久精品电影院| 国产成人精品免费视频大全五级 | 国精品91人妻无码一区二区三区| 激情综合激情| 91av成人日本不卡三区| 99久久精品免费看国产免费软件| 青草国产在线视频| 免费A级毛片无码免费视频| 美女扒开下面流白浆在线试听| 日韩一区二区三免费高清| 特级毛片免费视频| 午夜免费视频网站| 无码有码中文字幕| 亚洲第一天堂无码专区| 色婷婷色丁香| 国产情侣一区| 成人国产三级在线播放| 国产9191精品免费观看| 四虎永久在线视频| 亚洲人成人伊人成综合网无码| 热热久久狠狠偷偷色男同 | 五月天久久婷婷| 无码一区中文字幕| 在线视频一区二区三区不卡| 国产精品第一区在线观看| 麻豆精品在线视频| 免费国产小视频在线观看| 亚洲一级毛片在线观播放| 丰满人妻久久中文字幕| Aⅴ无码专区在线观看| 国产成人免费手机在线观看视频| 欧美激情网址| 国产精品自在线拍国产电影|