Sql server SQL 2016-Base64编码SHA256哈希字符串

Sql server SQL 2016-Base64编码SHA256哈希字符串,sql-server,encryption,hash,sql-server-2016,Sql Server,Encryption,Hash,Sql Server 2016,我有下面的SQL select查询,它使用SHA256散列用户ID。我想进一步将此散列编码为base64,以便其他应用程序(如Excel)可以轻松读取它,这会在解析散列用户ID时引发问题。我怎样才能做到这一点 Select cast(HASHBYTES('SHA2_256', cast(Users.UserID as nvarchar(10))) as varchar(50)) as UserID FROM UserTable 以下内容对我很有用,整个XML解析/黑客攻击需要一个VARBIN

我有下面的SQL select查询,它使用SHA256散列用户ID。我想进一步将此散列编码为base64,以便其他应用程序(如Excel)可以轻松读取它,这会在解析散列用户ID时引发问题。我怎样才能做到这一点

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

以下内容对我很有用,整个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 

(公然改编自答案)

你看到了吗?@HoneyBadger谢谢,我确实看到了这个,但我不知道如何将它应用到我的SHA256哈希中