Cơ chế trao đổi Messenge với AS

Một phần của tài liệu đồ án công nghệ thông tin Xác thực vân tay (Trang 52)

Message truy vấn thông tin tài khoản khách hàng thông qua số CIF : Message gửi đi:

Message gửi đi chỉ bao gồm thông tin số CIF cần truy vấn, các thông tin tĩnh khác thì mình dùng lại message “mồi” của chương trình.

Được lưu ở hai chỗ : offset 649 và offset 669, Message nhận về :

Message nhận về có độ dài tùy ý, tùy vào số lượng tài khoản mà người đó có trong ngân hàng.

Các thông tin về tài khoản được lưu thành từng record, hiện giờ chỉ mới biết tác dụng của vài record quan trọng,

//bat dau record

00 0000 0001 2000 4698 5 : CIFf f

c7 : loai tai khoan G

0000 1990 1000 2524 669 : so tai khoan f

d740 : quan he : P

0000 1990 1000 2524 669 : so tai khoan

f 4040 4040 4040 4040 4040 4040 4040 4040 4040 4040 00f0 c6c9 e7c5 c440 c4c5 d7d6 e2c9 e3e2 : FIXED DEPOSITS 4040 4040 d799 8994 8199 a8 : Primary 40 4040 4040 4040 4040 4040 0000 0100 0000 000f : tien c7e5 d5c4 : GVND 4040 4040 4040 4040 4040 4040 000f 0000 0000 0000 000f

Thuật toán hiện giờ là rà theo message, xem xét xem vị trí của các CIF ở chỗ nào! Là hàm :

public byte[] isTKorCIF (byte[] sPrimitive, int offset, int range); rà tới từng byte để xem nó có phải là số cif, hay tài khoản hay không?

Message truy vấn lịch sử giao dịch thông qua số tài khoản và ngày tháng của giao dich :

Message gửi đi:

Nội dung message gửi đi gồm 2 thông tin quan trọng : là số tài khoản và nội dung của giao dịch gần đó nhất. AS400 sẽ căn cứ vào số tài khoản và giao dịch gần nhất để truy vấn tối đa là 10 giao dịch tiếp sau, ngay giao dịch đó. Giá trị mặc định cho 10 giao dịch gần nhất là : ngày giao dịch là 0000000f.

Như vậy muốn xây dựng message truy vấn lịch sử giao dịch ta cần phải : xây dựng message tương tự như message mẫu nhưng tại các offset :

669 : sẽ lưu giá trị của tài khoản.

680 : sẽ lưu 4 trường đầu tiên của 1 record chứa thông tin về một giao dịch (4 trường này sẽ được phân tích sau). Giá trị mặc định cho lần giao dịch mới nhất là : 4 trường này đều bằng 0

Message mẫu : các phần thông tin của message ở trước vẫn giữ nguyên 00 0010 1010 0000 6278 6f : offset 669 : chứa số tài khoản,

c4 : bắt đầu chứa 4 trường đầu tiên của một record

0310 704f : ngày tháng

0000 2f : loại ?

c8 : loại ?

0000 0004 3576 800f : số dư

Message ở trên dịch ra là : truy vấn 10 giao dịch gần nhất của tài khoản : 101010000062786, kể từ ngày giao dịch : 31/7/04 với số dư tài khoản lúc đó là 435. 768, 00.

Message nhận về:

Message nhận về gồm hai phần : phần header, và phần body chứa các record thông tin về các giao dịch của tài khoản.

Trong phần header : thông tin cần chú ý là : AS400 sẽ báo cho mình biết : trong phần body sẽ có bao nhiêu record (tối đa là 10 record), và sau các record này, có còn thông tin về lịch sử giao dịch nữa hay không?

Thông tin được lưu ở offset : 340 và offset 342 010f : 10 records o day ne : offset 340 bytes e8c6 : Y F : Y là yes, còn nữa: offset 342 bytes

Căn cứ vào các giá trị đó, chúng ta quyết định là có cho phép tiếp tục truy vấn nữa hay không?

Trong phần body : Chứa các thông tin về các giao dịch, một thông tin được lưu trong một record.

thông tin record : (lưu ý là các thông tin đã được ghi lại dưới dang ascii cho dễ đọc, thực tế là chuỗi các byte, mỗi ký tự là một nipple.

//bat dau 1 truong

0280 205f : 28-02-05

0000 2f : chua biet

c8

0000 0004 9235 900f : so du truoc

0000 0004 9327 800f : so du hien tai

0010 6f : chi nhanh dich vu

f1 f6f0 4040 4040 4040 40 : ma giao dich

00 0000 0000 9190 0f : tien ghi no hoac co

c3 4040 40 : ghi co

00 0000 0f : so sec

Các trường này gối đầu liên tục vào nhau, mình chỉ cần duyệt qua tuần tự để lấy các thông tin.

Ví trí trường đầu tiên là : offset 680.

Để dễ hiểu có thể tham khảo trong phần code.

Lưu ý : nếu header báo là còn thông tin các giao dịch thì phải lưu lại 1 trường đầu tiên của record cuối cùng, làm cơ sở cho lần truy vấn sau!

Từ những nhận xét trên, chúng ta có thể truy vấn toàn bộ thông tin của tài khoản đó, theo ngày tháng!

Một phần của tài liệu đồ án công nghệ thông tin Xác thực vân tay (Trang 52)

Tải bản đầy đủ (DOC)

(57 trang)
w