Max Key Size (OpenInsight 32-bit)
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".
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".
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
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
generating a unique hash value from itHow 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 itHow 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
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?
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…
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?
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
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.
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".