HackerTrans
TopNewTrendsCommentsPastAskShowJobs

alovak

no profile record

Submissions

Mastering ISO 8583 Message Networking with Golang

alovak.com
43 points·by alovak·2 jaar geleden·7 comments

comments

alovak
·2 jaar geleden·discuss
It will dump everything for sure. Here I address this by showing how to filter data properly when displaying it: https://alovak.com/2024/08/15/mastering-iso-8583-messages-wi...

``` // to make it right, let's filter the value of CVV field when we output it filterCVV := iso8583.FilterField("8", iso8583.FilterFunc(func(in string, data field.Field) string { if len(in) == 0 { return in } return in[0:1] + strings.Repeat("*", len(in)-1) }))

// don't forget to apply default filter filters := append(iso8583.DefaultFilters(), filterCVV)

err = iso8583.Describe(requestMessage, os.Stdout, filters...) require.NoError(t, err) ```
alovak
·2 jaar geleden·discuss
Hey! Alex, nice to meet you here :)))
alovak
·2 jaar geleden·discuss
Hey! While I'm motivated to write, I've decided not to stop after my first post on ISO 8583 messages (https://alovak.com/2024/08/15/mastering-iso-8583-messages-wi...) and write a second one. This time, it's about ISO 8583 networking: how to connect to a server, send and receive ISO 8583 messages, and how to create a network client for this using Golang. You can read the blog post here: https://alovak.com/2024/08/27/mastering-iso-8583-message-net....

The post describes how to create a simple version of the client, but if you're interested in the topic, you can find a production-ready, battle-tested Golang package here: https://github.com/moov-io/iso8583-connection.

And to understand how the whole e2e flow works starting from the seller and finishing with issuer authorizeing the transaction, you can check a demo project here: https://github.com/alovak/cardflow-playground
alovak
·5 jaar geleden·discuss
I tried to simplify PCI DSS compliance by creating a tokenizer solution. As a result I built open source forward/revers proxy that on the fly replaces sensitive data in http(s) requests and responses: https://github.com/vaulty-co/vaulty and docs here: https://docs.vaulty.co/ (with some cookbooks).

I hoped some day to make a business from it :)

Even if I was not able to find any users/customers, I learned a lot: proxies, Golang (encryption, networking, parsing), etc. I started writing it using Ruby, but accidentally got a chance to write in Go for few weeks... and I fell in love with Golang. After 10+ years of Ruby/Rails I thought I'm done as a programmer. But with Go I felt that I love writing code again :)

Building Vaulty was also useful when I wanted to contact some security/fintech company.

This is how I decided to join https://moov.io as SW engineer and continue my journey with Go lang (and fintech and security).