1

我正在尝试为 PowerBI 创建自定义数据连接器。我需要为身份验证过程创建一个 SHA1 哈希。这是我目前正在使用的代码

let
        nonce = Text.NewGuid(), 
        timestamp = DateTimeZone.ToText(DateTimeZone.UtcNow()),
        digestBin = Crypto.CreateHash(CryptoAlgorithm.SHA1, Text.ToBinary(nonce&timestamp&Extension.CurrentCredential()[Password])),
        digest = Binary.ToText(digestBin, BinaryEncoding.Base64),
        val = "UsernameToken Username=""" & Extension.CurrentCredential()[Username] & """, PasswordDigest=""" & digest & """, Nonce=""" & nonce & """, Created=""" & timestamp & """"
    in
        val;

我在查询输出中收到此错误“无效的加密算法”。

我究竟做错了什么?

4

1 回答 1

0

不支持将 CryptoAlgorithm.SHA1 作为哈希,因为 SHA-1 哈希函数不安全。您可以创建一个使用 SHA-1 和 Crypto.CreateHmac 的 HMAC,这是一些 OAuth 1 源需要的。但是,您确实需要一个密钥。

于 2018-01-16T21:35:20.900 回答