Types of Barcodes
On drivers licenses today there are two types of barcodes and one type of magnetic strip that could be on your license. Some licenses have a barcode, some have two, some have a magstrip, some have nothing, some have a barcode and a magstrip. It all depends on what state you're doing.
Making the barcodes is quite easy and requires no special equipment.
There are two types of barcodes, 1D and 2D. “D” stands for dimension. A 1D barcodes is the barcode you are most familiar with and looks something like this - hxxp://tinyurl.com/52wqoc
If you notice the pattern is the same along the y-axis and only changes along the x-axis. It is a effectively a line that has just been stretched to make scanning easier. A line is a one dimensional shape and thus this type of barcode is referred to as 1D.
A 2D barcodes makes use of both length and width. Here is an example of a 2D barcode - hxxp://tinyurl.com/4ytngs
Here is the back of a NY drivers license which makes use of both types of barcodes - hxxp://i36.tinypic.com/2ekrvuv.gif
Currently 39 states use the 2D barcode (unfortunately I don't have the list of states)
What I do know is that North Carolina and Georgia have encrypted barcodes. Illinois and Kentucky have partially encrypted barcodes with the exception of a couple fields. There is currently no way to decode them, so for now you're not going to get a perfect scannable ID of those states. However, listen to this – the main reason that there is a 2D barcode on your ID is so the police officer who pulls you over doesn't have to manually enter in all of your information. I have never seen a liquor store that scans your 2D barcode to make sure you are 21. Or if they do, I've never seen them actually bother to scan one. Here in New York they scan the 1D barcode now and then because that contains your DOB and expiration and those types of scanners are much cheaper. So if you're doing a state where you have both 1D and 2D, its only really important to get the 1D right. Ok, ok, but what about just in case you happen to be the unlucky sob who finds a liquor store that scans 2D and you have an ID from one of those 4 states. Well from what I've heard most liquor stores that scan just get a message on their screen that says you're over 21. Some just have a light that turns green if you're over 21 and red if you're under 21. In that case, it doesn't matter if the name, age, address, ect on the 2D barcode matches the text on the front. All that matters is that the age is over and the expiration date is valid. So go ahead and copy the barcode of someones ID from that state and just use that. Now of course if you are doing any other state you should strive for perfection, so the next step is all about making 2D barcodes.
Decoding 2D barcodes
Before I go into making 2D barcodes, you need to understand what they look like when scanned.
Go ahead and download this program - hxxp://tinyurl.com/4gqsj8
Now scan or take a high quality photo of the back of your drivers license. Crop so the only thing in the image is the barcode and make sure it is aligned properly. The max width is 2000px
Hit decode and a window will pop up. You can view the information processed, in raw bytes, or in hex.
Here is what mine looked like processed:
Code:
Name=xxxxxxxxxx
Address=xxxxxxxxx
City=xxxxxxx
State=xx
Zipcode=xxxxxx
Driver License Number=xxxxxxxx
Driver Classification Code=D
Driver Restriction Code=I
Driver Endorsements Code=
License Expiration Date=xxxxxxxx
Date of Birth=xxxxxxxx
Sex=MALE
Of course I replaced the real information with xxxx's, but you get the idea.
Making a 2D barcode
First I'm going to tell you the right way to make a barcode. Unfortunately I seem to be to fucking stupid to get it to work. But I'm still trying and I'm posting this information so others can mess around and maybe get it to work.
First you want to decode the barcode with a program called Decode417Demo
hxxp://rapidshare.com/files/151898317/Decode417Demo.zip.html
Its good because it shows all of the characters in an unedited format
Then you want to take that data and use one of the follow generator programs:
This one - hxxp://www.cyanosoft.com/download/index.htm (Cool Barcode Maker - PDF417)
Or this one - hxxp://tinyurl.com/4clnkl
In the barcode generator program you want to make a barcode that is identical to the barcode on your ID. Once you've done that you can start changing fields. When you're done, check it with the “2D_Barcode_Decorder.jar” to see that its still read properly
If you can do this, then make a post explaining how you did it.
Now the bullshit method that I can kinda get to work
Use this program - hxxp://rapidshare.com/files/151901120/EthicsUniversalIDBarcoder.rar.html
Open it up, select Massachusetts and fill in fields. hxxp://i36.tinypic.com/ofpkd2.jpg
Save the barcode
Open it with “2D_Barcode_Decorder.jar”
The processed information looks like:
Code:
Address=56 FAKE RDDAIBOSTONDAJMADAK12345DAQS485651DARDDASIDATDBA20110315DBB19850315DBCMDBD
City=BOSTONDAJMADAK12345DAQS485651DARDDASIDATDBA20110315DBB19850315DBCMDBD
State=MA
Zipcode=12345DAQS485651DARDDASIDATDBA20110315DBB19850315DBCMDBD
Driver License Number=S485651DARDDASIDATDBA20110315DBB19850315DBCMDBD
Driver Classification Code=DDASIDATDBA20110315DBB19850315DBCMDBD
Driver Restriction Code=IDATDBA20110315DBB19850315DBCMDBD
Driver Endorsements Code=DBA20110315DBB19850315DBCMDBD
License Expiration Date=03/15/2011
License Issued Date=
Date of Birth=03/15/1985
Sex=MALE
Now as you can see all of the fields have the right information, there is just a bunch of gibberish that follows it. The only fields that really make any sense are State,Expiration,DOB, and Sex
If you read what I wrote earlier, then these barcodes should still scan and pass because the DOB and expiration are the only fields that they check. Unfortunately I cannot verify this.
Thats all for right now. Next post will include info on the 1D barcode and the magstrip, and hopefully an update on 2D barcodes.
EDIT: I am the original author of this, and if someone wants to give me a template for my efforts, please let me know. I currently only have one fairly shitty one that I get by with.