gpt4 book ai didi

sql-server - 在 SQL Server 中对超过 8000 字节进行哈希处理

转载 作者:行者123 更新时间:2023-12-02 14:47:02 27 4
gpt4 key购买 nike

SQL Server 的哈希函数 HASHBYTES 的输入限制为 8000 字节。

如何散列较大的字符串?

最佳答案

您可以编写一个 SQL CLR 函数:

[Microsoft.SqlServer.Server.SqlFunction]
public static SqlBinary BigHashBytes(SqlString algorithm, SqlString data)
{
var algo = HashAlgorithm.Create(algorithm.Value);

var bytes = Encoding.UTF8.GetBytes(data.Value);

return new SqlBinary(algo.ComputeHash(bytes));
}

然后可以像这样在 SQL 中调用它:

--these return the same value
select HASHBYTES('md5', 'test stuff')
select dbo.BigHashBytes('md5', 'test stuff')

仅当长度超过 8k 时才需要 BigHashBytes

关于sql-server - 在 SQL Server 中对超过 8000 字节进行哈希处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770262/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com