How to SHA1 encryption in a Logic App WITH a SecretKey

问题描述 投票:0回答:0

我需要我的 Azure 逻辑应用程序使用包含密钥的 HMAC SHA1 加密值。这是必要的,因为我需要将结果值传回数据工厂以发送到 API。我可以使用 JavaScript 在 Postman 中成功运行它,但现在我不得不在逻辑应用程序中运行它。

这是我要实现的逻辑:

AccessKey + : + (  base64(    SHA1(date: requestId : uri : application key, secretkey)))

有人可以帮忙吗?

我的基础架构团队拒绝建立基础架构来编写 Azure 函数。

我尝试使用这种方法在循环中的 SQL 中手动构建它:

base64ToString(concat('SHA1-', base64ToString(concat('HMAC-', base64ToString('this is the secret key'), ':','Thu, 20 Apr 2023 02:37:33 UTC:RandomHexcodeGoesHere:/api/training/campaign/get-everything:AccesskeyGoesHere'))

这个脚本重复了 3 次,将 concat 值添加到上一次运行的输出中,然后重新运行:

`DECLARE @input varchar(100)
DECLARE @encoded varchar(100)

SET @input = 'secret key:value that needs to be converted'
SET @encoded = (SELECT CAST(N'' AS    XML).value('xs:base64Binary(xs:hexBinary(sql:column("bin")))', 'VARCHAR(MAX)')
            FROM (SELECT CAST(@input AS VARBINARY(MAX)) AS bin) AS bin_sql_server_temp)

SELECT @encoded`

但这也没有正确解决。理想情况下,我会在 SQL 中运行我需要的一切,这样就可以消除逻辑应用程序的开销,否则我将能够使用逻辑应用程序中的预构建模块自动执行此操作,但 Hashify 似乎没有使用秘钥。

有人有什么建议吗?或者解决这个问题的方法。我很难过。

azure-data-factory azure-logic-apps sha1
© www.soinside.com 2019 - 2024. All rights reserved.