Cryptography 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. sha256hash(Text)
  6. sha256hashdocument(Document)
  7. sha512hash(Text)
  8. sha512hashdocument(Document)
  9. hmacmd5hash(Key, Text)
  10. hmacmd5hashdocument(Key, Document)
  11. hmacsha1hash(Key, Text
  12. hmacsha1hashdocument(Key, Document)
  13. hmacsha256hash(Key, Text)
  14. hmacsha256hashdocument(Key, Document)
  15. hmacsha512hash(Key, Text)
  16. hmacsha512hashdocument(Key, Document)
  17. 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
  18. hmacsha256bytehash
  19. getAwsV4Signature
  20. 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

  • 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) }

Comment
  • 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) }

Children
No Data