I have a question that I'm sure somebody out there can help me with. I am looking at the Stripe Snoop 1.5 source code. In the ss.cpp file, there are two functions findSS and findES, which I take to mean find start sentinel and find end sentinel. With my limited knowledge of magnetic stripe cards (which consists of the Wikipedia page's info), I know these are the characters that tell the beginning and end of a track. In the source code, it looks like the program is looking for 11010 as the SS and 11111 as the ES. Isn't there a different SS and ES depending on the type of card? Wikipedia shows some SS and ES as being '%', ';', and '?' neither of which Stripe Snoop is looking for. Why does the program look for these bits in particular?
Thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
i havent looked at the source, but there are two different charactersets used in mag cards generally. 5 bit characters numerical only (track 2-3 if i remember correctly) and 7 bit characters alpha-numeric (track 1). the last bit is parity in both cases
for 5 bit ss(;)=11010 and es(?)=11111
for 7 bit ss(%)=1010001 and es(?)=1111100
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have a question that I'm sure somebody out there can help me with. I am looking at the Stripe Snoop 1.5 source code. In the ss.cpp file, there are two functions findSS and findES, which I take to mean find start sentinel and find end sentinel. With my limited knowledge of magnetic stripe cards (which consists of the Wikipedia page's info), I know these are the characters that tell the beginning and end of a track. In the source code, it looks like the program is looking for 11010 as the SS and 11111 as the ES. Isn't there a different SS and ES depending on the type of card? Wikipedia shows some SS and ES as being '%', ';', and '?' neither of which Stripe Snoop is looking for. Why does the program look for these bits in particular?
Thanks
i havent looked at the source, but there are two different charactersets used in mag cards generally. 5 bit characters numerical only (track 2-3 if i remember correctly) and 7 bit characters alpha-numeric (track 1). the last bit is parity in both cases
for 5 bit ss(;)=11010 and es(?)=11111
for 7 bit ss(%)=1010001 and es(?)=1111100
Looking at an ascii table with binary, says ; = 111011 and ? = 111111 is this incorrect?
in both charactersets the tables are offset, because characters like "null" "backspace" "bell" etc arent needed, and there is no space for them.
in the 5 bit character set 0 is the first digit (00001) and again the last bit is parity.
the last character in 5bit is ? = 11111
in 7 bit the first character is "space" (0000001)
and the last character is _ (1111111)