This is as a result of a conversation in the
SVC-1086 issue.
Currently keys are something almost all scripts must deal with in one form or another (textures, avatars, objects), often in large quantities. As a result of this, the storage of keys occupies a large part of the memory for most scripts. There has been a lot of suggestions for increasing script memory further. (And fixes to the mono engine that would decrease our usable memory) How about we make what memory we already have more efficient?
Two functions could be added that compress and decompress keys to strings that are a good deal smaller than they currently are.
A compression algorithm would simple convert the (currently) hex value of the key to base 64 AND remove the dashes.
Already we can do this with script, but it's still painfully slow. Slow enough that often it's easier to add more scripts or make more transmissions (in the case of keys moving over chat or HTTP). More transmissions and more scripts means more lag in a sim. Conversely, I'm sure a built in function could do this conversion pretty speedily.
So more formally I propose:
string llCompressKey( key input );
and
key llDecompressKey( string input );
SVC-1086is where this discussion began. It is also just one of many useful applications for these functions.