【问题标题】:SQL 2016 - Base64 encoding a SHA256 hashed stringSQL 2016 - Base64 编码 SHA256 散列字符串
【发布时间】:2018-06-12 04:19:51
【问题描述】:

我有以下 SQL 选择查询,它使用 SHA256 对用户 ID 进行哈希处理。我想进一步将此哈希编码为 base64,以便其他应用程序(例如 Excel)可以轻松读取它,这在解析哈希用户 ID 时会导致问题。我怎样才能做到这一点?

Select
cast(HASHBYTES('SHA2_256', cast(Users.UserID as nvarchar(10))) as varchar(50)) as UserID 
FROM UserTable

【问题讨论】:

标签: sql-server encryption hash sql-server-2016


【解决方案1】:

以下对我有用,整个 XML 解析/黑客需要一个 VARBINARY:

SELECT  CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:column("UserID")))', 'VARCHAR(MAX)') Base64Encoding
FROM    (
            SELECT HASHBYTES('SHA2_256', CAST(Users.UserID AS NVARCHAR(10))) AS UserID
            FROM UserTable
        ) a 

(公然改编自this答案)

【讨论】:

    猜你喜欢
    • 2018-12-28
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 2012-12-28
    相关资源
    最近更新 更多