Closing
JRTwine Software, LLC will cease operations on or shortly after April 15th, 2016 due to unexpected relocation. Purchasing links have been disabled and the support site will go offline after April 15th. We thank all of our past customers for supporting us during the past 14 years.
Data Formats
The real power of the IBWedge product is in how it can convert iButton ROM ID data into various outputs. Like normal hardware-based keyboard wedges, IBWedge can output just the iButton device data (either in its native or presentation formats).
But the real power of IBWedge shines when you make use of the different Data Formats that are included with IBWedge, or the ones that you can create yourself using our simple API.
A Data Format is simply a data transform that is applied to an iButton device's ROM ID that converts it to a different format. Just as a specific iButton device has its own ROM ID, so is the data produced by a Data Format.
The standard formats that are included with the product are detailed below. Before we jump into the different formats, you need to understand the concepts of Cooked and Raw data, as well as Native and Presentation formats.
Cooked Data
Cooked data is data that is converted to a printable format. For example, the ROM ID of an iButton device is an 8-byte binary value. This binary value does not always lend itself to display on your screen, because the bytes may comprise control characters or characters that would normally display as non-alphanumeric characters. Cooking is the process of converting these characters to printable data.
Raw Data
Raw data is un-cooked binary data. While this form of the data does not lend itself to display, it is perfect for utilizing iButton data in other forms, such as generating passwords or cryptographic hashes from them.
Native Format
When an iButton device is read by a computer, its ROM ID is actually returned in reverse order than than how the values are shown left-to-right on the face of an iButton device. The IBWedge considers this format to be the Native format.
Presentation Format
Conversely, Presentation format flips around an iButton's ROM ID so that it matches the order as shown on the face of an iButton device.
Data Format Name | Description |
Cooked Native | Takes the cooked ROM ID of an iButton device, in Native order, and converts it to a printable string |
Cooked Presentation | Takes the cooked ROM ID of an iButton device, in Presentation order, and converts it to a printable string |
Cooked MD5 Native | Takes the cooked ROM ID of an iButton device, in Native order, and generates a MD5 hash value from it (32 printable characters) |
Cooked MD5 Presentation | Takes the cooked ROM ID of an iButton device, in Presentation order, and generates a MD5 hash value from it (32 hexadecimal characters) |
Cooked SHA256 Native | Takes the cooked ROM ID of an iButton device, in Native order, and generates a SHA256 hash value from it (64 hexadecimal characters) |
Cooked SHA256 Presentation | Takes the cooked ROM ID of an iButton device, in Presentation order, and generates an SHA256 hash value from it (64 hexadecimal characters) |
Raw MD5 Native | Takes the raw ROM ID of an iButton device, in Native order, and generates a MD5 hash value from it (32 hexadecimal characters) |
Raw MD5 Presentation | Takes the raw ROM ID of an iButton device, in Presentation order, and generates a MD5 hash value from it (32 hexadecimal characters) |
Raw SHA256 Native | Takes the raw ROM ID of an iButton device, in Native order, and generates a SHA256 hash value from it (64 hexadecimal characters) |
Raw SHA256 Presentation | Takes the raw ROM ID of an iButton device, in Presentation order, and generates an SHA256 hash value from it (64 hexadecimal characters) |
Raw PW16 Native | Takes the raw ROM ID of an iButton device, in Native order, and generates a corresponding 16-character alphanumeric string from it that is suitable for use as a password |
Raw PW16 Presentation | Takes the raw ROM ID of an iButton device, in Presentation order, and generates a corresponding 16-character alphanumeric string from it that is suitable for use as a password |
Raw PW32 Native | Takes the raw ROM ID of an iButton device, in Native order, and generates a corresponding 32-character alphanumeric string from it that is suitable for use as a password |
Raw PW32 Presentation | Takes the raw ROM ID of an iButton device, in Presentation order, and generates a corresponding 32-character alphanumeric string from it that is suitable for use as a password |
Cooked MD5 Native | Takes the ROM ID of an iButton device, in Native order, and generates an MD5 hash value from it |
Filtering/Transforms
In addition to the Data Formats, you can optionally filter and/or transform the data after it has been formatted. For example, you can force the returned string to UPPERCASE or lowercase, filter out digits, or alphabetic characters. Custom filtering/transforms can be implemented as Custom Data Formats.
Custom Data Formats
In addition to the standard Data Formats that are available, you can create your own custom Data Formats and distribute them as you see fit. For example, if you needed to take an iButton's ROM ID and:
- Transpose the first and last bytes
- Generate a Tiger hash from the modified ROM ID
- And perform an XOR operation on each consecutive pair of bytes in the hash
You can! You can easily create a custom format that does all this and much more simply and quickly. Making custom formats available for use is as easy as copying a DLL into a folder where the IBWedge server is installed, and then configuring the IBWedge service to use them.
Custom data formats are implemented as .NET assemblies which can be authored in languages such as C#. Complete information and an SDK for implementing custom data formats is available upon request to license holders.
Custom Data Format Development
You can elect to have JRTwine Software, LLC implement custom data formats for you. Once completed, you will retain ownership of the source code. Pricing and times for such jobs is done on a case-by-case basis.
Per-Product and Site license holders get the additional benefit of having the option to have one or two (respectively) Custom Data Formats implemented for them by JRTwine Software, LLC free of charge.