Giter Club home page Giter Club logo

powerautomate-hashconnector's Introduction

PowerAutomate-HashConnector

UPDATE, VERSION 2.0 WITHOUT AZURE FUNCTION (SEE BELOW)

image

Cryptographic hash functions are an indispensable and ubiquitous tool used to perform a variety of tasks, including authentication, data integrity checking, protecting files, passwords, and even malware detection. For several years, the application for this functionality lay on the powerapps-community as an idea:

https://powerusers.microsoft.com/t5/Power-Apps-Ideas/Function-to-encrypt-hash-sha512-sha1-sha256-MD5/idi-p/449377

Most likely, this problem has been solved privately many times, but no one has issued a public solution. I really hope that the functionality I suggested solves this problem. Azure Function was created that accepts get-post requests as input. We can pass it the hashing type (md5/sha256/sha512/rsa) and any message to the input, starting from text and ending with binary data (pictures, movies etc.), and at the output we get a string of fixed length.

Information for developers: The code is written on C# language and can be easily improved. If you are missing encryption methods, just add them to this code similarly to the existing ones using the System.Security.Cryptography library. Further, this code must be published in your Cloud as an Azure Function. The instructions about create new project and for publishing are here:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-your-first-function-visual-studio

Information for consultants: Open the Result directory, grab the zip file from there and publish it to your cloud as follows: You can use Azure CLI to trigger a push deployment. Push deploy a .zip file to your function app by using the az functionapp deployment source config-zip command. To use this command, you must use Azure CLI version 2.0.21 or later. To see what Azure CLI version you are using, use the az --version command.

In the following command, replace the <zip_file_path> placeholder with the path to the location of your .zip file. Also, replace <app_name> with the unique name of your function app and replace <resource_group> with the name of your resource group.

az functionapp deployment source config-zip -g <resource_group> -n \
<app_name> --src <zip_file_path>

This command deploys project files from the downloaded .zip file to your function app in Azure. It then restarts the app. To view the list of deployments for this function app, you must use the REST APIs.

When you're using Azure CLI on your local computer, <zip_file_path> is the path to the .zip file on your computer. You can also run Azure CLI in Azure Cloud Shell. When you use Cloud Shell, you must first upload your deployment .zip file to the Azure Files account that's associated with your Cloud Shell. In that case, <zip_file_path> is the storage location that your Cloud Shell account uses. For more information, see this link:

https://docs.microsoft.com/en-us/azure/azure-functions/deployment-zip-push#deployment-zip-file-requirements

Immediately after the publication of the function, it can already be used through the HTTP:

image

But for Power Automate, this is not enough. We need to create a custom connector that will perform the required transformations. The instructions for creating a connector are here, but you don't need to follow most of these steps:

https://docs.microsoft.com/en-us/connectors/custom-connectors/define-blank#:~:text=Power%20Apps-,Start%20the%20custom%20connector%20wizard,custom%20connector%2C%20then%20select%20Continue.

Take the code of my connector (swagger.json), change host name:

 "swagger": "2.0",
  "info": {
    "title": "Logiq Apps Hash Connector",
    "description": "",
    "version": "1.1"
  },
  "host": "YOURHOST",
  "basePath": "/api/"

and publish it. In general, that's all. Use this functionality in your Power Automate to encrypt messages and files, store the hashes as you see fit:

image

As you can see, the functionality is very simple, but quite effective. Of course, there are nuances (cons) in it. Unfortunately I am not an expert in Power Automate (yet), and therefore your comments and suggestions will be very useful. Good luck with your use!

UPDATE, VERSION 2.0 WITHOUT AZURE FUNCTION

Just import Logiq-Apps-Hash-Connector-Code.swagger.json into your system like a new custom connector, open your connector, go to step 4 and click "Upload". Select the "Code For Connector.cs" code that will intercept the call and transform it in a way that suits you:

image

Be sure to select the step (action) that will initiate the code execution! Save the connector. Use and have fun:

image

P.S. Be careful! This functionality is in the preview and can be changed at any time, or even completely disabled. The first version with an azure function, although more complex and heavyweight, is more reliable and can be used in production right now.

powerautomate-hashconnector's People

Contributors

dynamicsadfun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.