You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI自定义数据连接器:Crypto.CreateHash用SHA1报无效算法错误

解决Power Query自定义连接器中SHA1哈希的"无效加密算法"错误

嗨,我一眼就看出问题出在哪了——你在调用Crypto.CreateHash时用了CryptoAlgorithm.SHA1,但Power Query根本不认识这个枚举写法!

在Power Query的语法里,Crypto.CreateHash的第二个参数(加密算法)需要直接传入字符串形式的算法名称,而不是枚举成员。你写的CryptoAlgorithm.SHA1是无效的,这就是系统提示"无效加密算法"的原因。

给你修正后的完整代码:

let 
    nonce = Text.NewGuid(), 
    timestamp = DateTimeZone.ToText(DateTimeZone.UtcNow()),
    // 把错误的CryptoAlgorithm.SHA1替换成字符串"SHA1"
    digestBin = Crypto.CreateHash("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

另外再给你两个小提醒:

  • 确保Extension.CurrentCredential()能正常拉取到用户名和密码,不然可能会出现哈希生成失败的情况。
  • 如果之后需要切换到其他哈希算法(比如SHA256),直接把"SHA1"换成对应的字符串就行,比如"SHA256"。

内容的提问来源于stack exchange,提问作者DJ Sitte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:18:19