Menu

Start/End Sentinel?

datura
2009-02-09
2013-04-17
  • datura

    datura - 2009-02-09

    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

     
    • magstripper

      magstripper - 2009-02-09

      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

       
    • datura

      datura - 2009-02-09

      Looking at an ascii table with binary, says ; = 111011 and ? = 111111 is this incorrect?

       
      • magstripper

        magstripper - 2009-02-09

        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)

         

Log in to post a comment.