Master Keying schemes
I recently picked up lock-screwing-with as part of my responsibilities as a building manager.
I bought a few key dupe machines, some depth & space keys and a pin kit, and have been having fun keying all the locks for the building.
I live in the building so I decided I wanted to master key my office, loft, workshop, and various storage areas, to eliminate some keys from my ring. Being only about 6 locks and the maximum keys needed on 1 lock was 3, it was a pretty simple scheme. However it got me interested in master keying schemas.
SOOO I built a schema generator. It's a little ugly, but it works, right now it will generate (from a master you specify) (n) group masters with (n) sub keys for each group. It will generate most key types, although some of the parameters are hard coded at this time.
Right now it is hosted as a Google App Engine app, you can access it here:
http://pymasterkey.appspot.com
By default it generates 10 groups with 10 group masters, for a total of 110 keys based on a master key code of 555555, it also generates codes 0-9, as most of my locks are SC4, that is what I mess with most of the time.
Here is another example:
"http://pymasterkey.appspot.com?code=053525&groups=7&keys=5&type=6"
This would generate 7 groups of 5 keys each, with a type of 6, meaning that each pin can be a value of 0-5 with a master key of 053525
One of the parameters that is not currently editable, but is included in the application, it maximum adjacent cut difference, it is hard coded at 5. This means that a 0 next to a 5 is ok, but a 0 next to a 6 is not. Also, it is set to generate no more than 2 identical adjacent pins, meaning that 567740 is a valid code, but 577740 is not.
If anyone wants to see the source, the code is available here:
http://code.google.com/p/pymasterkey/
Let me know what you think.