Join The Works program to have access to the most current content, and to be able to ask questions and get answers from Revelation staff and the Revelation community

At 27 SEP 2020 09:16:33PM Barry Stevens wrote:

What is the maximum size that an AlphaNumeric key can be.

If any one has seen one , I was wondering if I can use an "ISO Fingerprint template" as a record key.

Just saw this:

"The template is a binary file consisting of simple fields arranged into field groups."

So does this mean there could be fieldmarkers and I would be in trouble?


At 27 SEP 2020 11:31PM Donald Bakke wrote:

What is the maximum size that an AlphaNumeric key can be.

If any one has seen one , I was wondering if I can use an "ISO Fingerprint template" as a record key.

Just saw this:

"The template is a binary file consisting of simple fields arranged into field groups."

So does this mean there could be fieldmarkers and I would be in trouble?

I believe the max key length is now 512.

That reference to "field/s" has nothing to do with OI fieldmarks. It is using field in a generic sense. That said, that doesn't preclude template content from containing system delimiters since this is a "binary file".

Don Bakke

SRP Computer Solutions, Inc.


At 27 SEP 2020 11:44PM Barry Stevens wrote:

What is the maximum size that an AlphaNumeric key can be.

If any one has seen one , I was wondering if I can use an "ISO Fingerprint template" as a record key.

Just saw this:

"The template is a binary file consisting of simple fields arranged into field groups."

So does this mean there could be fieldmarkers and I would be in trouble?

I believe the max key length is now 512.

That reference to "field/s" has nothing to do with OI fieldmarks. It is using field in a generic sense. That said, that doesn't preclude template content from containing system delimiters since this is a "binary file".

Don Bakke

SRP Computer Solutions, Inc.

Thanks Don.

Ooops, I should have highlited that bit - "binary file"


At 28 SEP 2020 04:18AM bshumsky wrote:

Hi, Barry. You might consider taking that binary information and generating a unique hah value from it, which you could then use as a record key. It's an extra calculation step, but you end up with something you know won't contain anything nasty.

- Bryan Shumsky

Revelation Software, Inc.


At 28 SEP 2020 05:13AM Barry Stevens wrote:

Hi, Barry. You might consider taking that binary information and generating a unique hah value from it, which you could then use as a record key. It's an extra calculation step, but you end up with something you know won't contain anything nasty.

- Bryan Shumsky

Revelation Software, Inc.

generating a unique hash value from it

How do you do that.?

Can I assume that each time an 'unique hash value' was created on the exact same binary , the hash value would be the same?


At 28 SEP 2020 08:43AM bshumsky wrote:

generating a unique hash value from it

How do you do that.?

Can I assume that each time an 'unique hash value' was created on the exact same binary , the hash value would be the same?

Yes, there's a function in OI 9.x called RTI_MD5 - you pass in a method (either "hex_md5" or "b64_md5") and a string of "stuff" and it will generate an MD5 hash of the "stuff" and return the hash as either a hex or base64 string. Each time you run it on the same stuff you'll get the same hash, yes.

- Bryan Shumsky

Revelation Software, Inc.


At 28 SEP 2020 09:21AM Donald Bakke wrote:

Barry - I think Bryan is giving you good advice with this. Hash values are often used to compare passwords without having to transmit the actual password. In your case, the benefit extends toward the generation of a "safe" version of your data, which is often used in web applications for similar reasons.

My only concern is whether MD5 is sufficient for your needs. There are known collission vulnerabilities, but it might be highly unlikely that your application will encounter these.

Bryan - Does RTI provide support for SHA256?

Don Bakke

SRP Computer Solutions, Inc.


At 28 SEP 2020 09:30AM Andrew McAuley wrote:

RTI_CRYPTO is documented as supporting

HEX_MD5

B64_MD5

STR_MD5

HEX_HMAC_MD5

B64_HMAC_MD5

STR_HMAC_MD5

HEX_SHA1

B64_SHA1

STR_SHA1

ANY_SHA1

HEX_HMAC_SHA1

B64_HMAC_SHA1

ANY_HMAC_SHA1

STR_HMAC_SHA1

although there is also a RTI_SHA256 which seems to call the above…

The Sprezzatura Group

The Sprezzatura Blog

World leaders in all things RevSoft


At 28 SEP 2020 09:38AM bshumsky wrote:

Barry - I think Bryan is giving you good advice with this. Hash values are often used to compare passwords without having to transmit the actual password. In your case, the benefit extends toward the generation of a "safe" version of your data, which is often used in web applications for similar reasons.

My only concern is whether MD5 is sufficient for your needs. There are known collission vulnerabilities, but it might be highly unlikely that your application will encounter these.

Bryan - Does RTI provide support for SHA256?

Don Bakke

SRP Computer Solutions, Inc.

Hi, Don. For the purposes described, it is unlikely that MD5 will be a problem, as per the Wiki article you referenced:

Even a small change in the message will (with overwhelming probability) result in a mostly different hash, due to the avalanche effect.

However, yes, the RTI_MD5 also allows for SHA256 using the method "hex_sha256" or "b64_sha256", I think. Of course the "cost" is a slightly slower calculation.

- Bryan Shumsky

Revelation Software, Inc.


At 28 SEP 2020 09:45AM Donald Bakke wrote:

For the purposes described, it is unlikely that MD5 will be a problem, as per the Wiki article you referenced

Depsite the unlikelihood of the situation, Barry might have requirements in this design. Some of our contracts specify these things.

Don Bakke

SRP Computer Solutions, Inc.


At 29 SEP 2020 04:02PM Richard Hunt wrote:

Just wanted to add a little info that might be useful…

1) The READNEXT statement does parse the keys (record ids) using the OI @FM (char 254).

2) The GET_PROPERTY and SET_PROPERTY parses using the OI @RM (char 255). Also I have noticed and was told that CHAR(0) seems to truncate data.

Just suggesting to plan ahead. Although there is no character restriction that I know of the above two items might cause issues "down the road".

View this thread on the Works forum...

  • third_party_content/community/commentary/forums_works/425d003bfca4d74099876b350eef6c8d.txt
  • Last modified: 2023/12/30 11:57
  • by 127.0.0.1