2013-05-04 16 views
5

ben bu online seçeneği ile benzeri Java ile bir EMV yanıtını çevirmek için bir yol arıyorum:EMV TLV Java Fonksiyonu

6f3a8407a0000000031010a52f500b56495341204352454449548701015f2d086573656e707466729f12074352454449544f9f1101019f38039f1a02: Bu EMV yanıtı gibi bir şey koymak

http://www.emvlab.org/tlvutils/

ve size her şeyi mükemmel gösterecek, kendimden bir şeyler yapmaya başladım ama sonra belki de biz cou olduğumun farkındayım İki tane 9F38 (PDOL) dizgim var, iki tane de aynı etiket yok, imkansız olduğunu biliyorum ama belki de bir etiketin değeri 9F'de ve bir sonraki etiketin başlangıcı 38 olur ve bu bana bir hata verir ... Bahsettim, bu mümkün mü? cuz bu benim kendi fonksiyonumu yapmayı bırakmamın en önemli nedenlerinden biriydi ..

Şimdiden bunu yapmak için herhangi bir işlev yazdınız mı?

Teşekkürler!

cevap

7

https://github.com/binaryfoo/emv-bertlv başa kodu vardır.

, aşağıdaki kodu sizin örneği kullanarak:

List<DecodedData> decoded = new RootDecoder().decode("6f3a8407a0000000031010a52f500b56495341204352454449548701015f2d086573656e707466729f12074352454449544f9f1101019f38039f1a02", "EMV", "constructed"); 
new DecodedWriter(System.out).write(decoded, ""); 

Will çıktı: Sen doğru yolda olan

[6F (FCI template)] 8407A0000000031010A52F500B56495341204352454449548701015F...1A02 
[84 (dedicated file name)] A0000000031010 
[A5 (FCI proprietary template)] 500B56495341204352454449548701015F2D086573656E707466729F...1A02 
    [50 (application label)] VISA CREDIT 
    [87 (application priority indicator)] 01 
    [5F2D (language preference)] esenptfr 
    [9F12 (application preferred name)] CREDITO 
    [9F11 (issuer code table index)] 01 
    [9F38 (PDOL - Processing data object list)] 9F1A02 
    9F1A (terminal country code) 2 bytes 
+0

, aşağıdaki kodu kullanarak kod çözemez. –

0

. TLV (Etiket Uzunluğu Değeri) teknik çağrısını kullanarak kendi EMV çözümleyicinizi kolayca oluşturabilirsiniz. Ham verileriniz her zaman bir Tag ile geri gelir, daha sonra tag uzunluğundan sonra, uzunluğu kullanarak değeri alabilirsiniz. İçeren tüm kısa etiketler yöntem 2: İçeren tüm uzun etiketler yöntem 3: İçeren tüm tescilli etiketleri Yani

Eğer ham EMV geçmek

Yani üç yöntem

yöntem 1 oluşturmak etiket:

6f3a8407a0000000031010a52f500b56495341204352454449548701015f2d086573656e707466729f12074352454449544f9f1101019f38039f1a02

Döngü t tüm bu aracılığıyla hree yöntemleri, size ihtiyacınız olan tüm güzel bilgileri verecektir.