Using a cool little program I dug up on the web, and a scanner I was able to decode the barcodes on the back of my NY drivers license, and find out what information people get when they scan it. I'm pretty sure that just decoding the barcode is not illegal, but some of the other things I describe probably are, so let those be just proof of concept.
All the times my license (well technically my permit, but its all the same) appears, I mess up the barcodes a bit so (hopefully) no one can get my information. Personally I don't care, but theres probably some good reasons why I should not let it out so I'm just being safe.
Step 1: Materials
2. License/Permit from any state ( I think there are a few states ids that do not work, but most should)
3. Swipe Barcode Program
4. A Hex converter (more on this later)
5. Photoshop or similar program
6. Optional 1d barcode decoder
Step 2: Procedure
1. Scan the back of your license / permit using a medium - high resolution. The resolution should be set so that the 2d barcode is about 2000 pixels long.
2. Open up the image in Photoshop and cut out the 2d barcode. The 2d barcode is the one on the bottom in the picture. Most states use the PDF-417 (Portable Data File, with 17 modules each containing 4 bars and spaces, thus 417). Edit the barcode so that it is exactly 2000 or less pixels long because that is the maximum the program will allow, and save it.
3. Open swipe toolkit pdf417 barcode reader, available to download in the last step, and load your barcode into it. Click decode image, and a window with all your information should pop up. The picture shows the window that I got ( I removed thinks I should probably care about). As you can see, you can view the information processed, in raw bytes, or in hex. An interesting thing to note is if your card contains your social security number, some states put it on and some states don't.
Step 3: Legality Becomes Iffy Here
Cyansoft makes a pdf 417 barcode encoder, which you can use to modify the barcode.
If you select raw bytes(you can also select hex if you want to use a hex editor to edit the information) on how the decoded information is shown in the pdf 417 reader, examine it and you should be able to pick out your information such as d.o.b, name, license number, etc. You can edit that information, copy the selection into cyansoft's barcode encoder, and tweak it to look like the original barcode. Some of the settings you may need to change are the Error correction level, the number of columns and rows, and the bar width. The overall purpose of tweaking the barcode is to get it to look and read the same before, just with the modified data.
To test out the modded barcode, export it as an image and run it through the decoder again, if it works great, if not just keep tweaking the settings in the encoder until it looks exactly like the original. You now have your modded barcode, but what should you do with it?
Step 4: From This Point on Everythings Definitely Illegal
If you want to use the fake barcode you just make on your license, there are many possible ways to transfer it. The easiest is probably to erase the old barcode with some acetone and paper towels, and when your sure its completely erased, carefully print directly onto the license. The only problem with this method is that you would need a high density printer (thermal transfer or laser), and would have to be extremely careful that it printed in the right spot nice and cleanly.
Another method could be to clean off the old barcode with acetone, and then print out the new one on a transparency and affix it to your license. The problem with this method are that it would be easy to tell its fake, unless done really carefully.
Remember if you are changing a piece of information that is on the front you have to change it on the license too. It doesn't matter if the id scans 21, if it says 18 on the front they are not going to accept it.
(Note: Most licenses also have a 1d barcode on the back too. It contains much less information then the 2d barcode. To edit it you will need to find out what specific type of barcode it is, there are many sites online with pictures of different barcodes that can help you. Then download a decoder for that type, and decipher the information they give you, see if it matches up with your license number, dob, etc. Then change it and re encode it using a program for that type of barcode.)