Cryptographic Hash Functions

Overview

This plug-in contains functions that can perform the following:

  • Create hex encoded hashes for md5, sha1, sha256, and sha512 algorithms
  • Generate hashes with secret key for HMAC
  • Generate hashes of documents
  • Generate a signature key

Key Features & Functionality

This listing currently represents version 2.3.0 of the plug-in.  The functions included are as follows:

  1. md5hash(Text)
  2. md5hashdocument(Document)
  3. sha1hash(Text)
  4. sha1hashdocument(Document)
  5. sha224Hash
  6. sha256hash(Text)
  7. sha256hashdocument(Document)
  8. sha512hash(Text)
  9. sha512hashdocument(Document)
  10. hmacmd5hash(Key, Text)
  11. hmacmd5hashdocument(Key, Document)
  12. hmacsha1hash(Key, Text
  13. hmacsha1hashdocument(Key, Document)
  14. hmacsha256hash(Key, Text)
  15. hmacsha256hashdocument(Key, Document)
  16. hmacsha512hash(Key, Text)
  17. hmacsha512hashdocument(Key, Document)
  18. getSignatureKey(key, dateStamp, regionName, serviceName)  
    • Added in version 2.0.0 to assist with AWS integrations
    • Added support for secure credentials store in version 2.1.0
  19. hmacsha256bytehash
  20. getAwsV4Signature
  21. hmacSHA256HexKeyBase64(Key, Text)

Example Use:

  • Rule Definition: md5Hash(ri!string)
  • Rule Output: 63b03e21a6f184cfd36247b5dc0e86cf
Anonymous
Parents
  • This is a very useful plugin and we have used some of its functions for creation of a Shared Access Signature token required for REST API Intergation with Azure Service Bus. Much appreciate Appian's support with this Plugin

Comment
  • This is a very useful plugin and we have used some of its functions for creation of a Shared Access Signature token required for REST API Intergation with Azure Service Bus. Much appreciate Appian's support with this Plugin

Children
  • Hi  Could you please let me know how you generated Shared Access Signature in Appian using this plugin? Because I used this plugin to generate SAS for Azure BLOB using the below code but the authorization header fails. Can you debug below code and let me know what i miss

    local!sampleSign:"GET\n\n\n\n\n\n\n\n\n\n\n\nx-ms-date:Fri, 23 Feb 2024 16:10:38 GMT\nx-ms-version:2015-04-05\n/mystorageaccount/mycontainer/myfilenamewithext",
    local!base64Key: decodebase64string(/*Access Key of Storage Account*/),
    local!unicodeSign: code(local!sampleSign),/*UTF-8 conversion*/
    local!hashKey: hmacsha256bytehash(
    key: local!base64Key,
    scsValue:{""},
    string: local!unicodeSign,
    returnBase64: true
    ),
    { touniformstring(local!hashKey) }