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 NameDescription
Cooked NativeTakes the cooked ROM ID of an iButton device, in Native order, and converts it to a printable string
Cooked PresentationTakes the cooked ROM ID of an iButton device, in Presentation order, and converts it to a printable string
Cooked MD5 NativeTakes the cooked ROM ID of an iButton device, in Native order, and generates a MD5 hash value from it (32 printable characters)
Cooked MD5 PresentationTakes the cooked ROM ID of an iButton device, in Presentation order, and generates a MD5 hash value from it (32 hexadecimal characters)
Cooked SHA256 NativeTakes the cooked ROM ID of an iButton device, in Native order, and generates a SHA256 hash value from it (64 hexadecimal characters)
Cooked SHA256 PresentationTakes the cooked ROM ID of an iButton device, in Presentation order, and generates an SHA256 hash value from it (64 hexadecimal characters)
Raw MD5 NativeTakes the raw ROM ID of an iButton device, in Native order, and generates a MD5 hash value from it (32 hexadecimal characters)
Raw MD5 PresentationTakes the raw ROM ID of an iButton device, in Presentation order, and generates a MD5 hash value from it (32 hexadecimal characters)
Raw SHA256 NativeTakes the raw ROM ID of an iButton device, in Native order, and generates a SHA256 hash value from it (64 hexadecimal characters)
Raw SHA256 PresentationTakes the raw ROM ID of an iButton device, in Presentation order, and generates an SHA256 hash value from it (64 hexadecimal characters)
Raw PW16 NativeTakes 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 PresentationTakes 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 NativeTakes 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 PresentationTakes 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 NativeTakes 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:

  1. Transpose the first and last bytes
  2. Generate a Tiger hash from the modified ROM ID
  3. 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.