Brian Dunning's FileMaker Custom Functions

ChaosHash ( text ; hashLength )

Uses a chaotic process to create a hash of the specified length.

  Average rating: 4.6 (33 votes) Log in to vote

Jeremy Bante   Jeremy Bante

https://github.com/jbante/

Share on Facebook Share on Twitter

  Sample input:
ChaosHash ( "Some original text" ; 16 )
  Sample output:
슈ਈ䔊꼣ݿṡ㰼娴溵⩣複ﲀ卭ߓ谐

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

ChaosHash creates a hash of the text parameter via a pseudo-chaotic process suitable for the constraints of FileMaker custom functions.

This function has not been subjected to rigorous cryptanalysis, and the author does not warranty the security or collision resistance of results.

 

Comments

comment   comment, VR
Jan 6, 2011
"a chaotic process adapted to the constraints of FileMaker custom functions"

Adapted from ... ?
 
Jeremy Bante   Jeremy Bante, San Mateo, CA, USA
Jan 6, 2011
This function (along with the ChaosEncrypt and ChaosDecrypt functions) is modeled after the general pattern of a stream cipher where a chaotic process is used to generate the key stream (pad) before applying it to the plaintext. I did not try to faithfully adapt any specific existing algorithm. All the popularly discussed algorithms are optimized for manipulating binary data, which is unacceptably inefficient in a FileMaker custom function without access to native bit-wise logic operations. Hence, I use arithmetic analogues (not equivalents!). I also avoid looping subroutines as much as possible, given the limitation on FileMakers calculation stack depth.
 

Log in to post comments.

 

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 20 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth: