gpt4 book ai didi

c# - C# 中的 SqlServer 校验和

转载 作者:可可西里 更新时间:2023-11-01 09:01:12 25 4
gpt4 key购买 nike

我在 sql server 2008 R2 中使用 chechsum 函数,我想在 C# 应用程序中获得相同的 int 值。c# 中是否有任何等效方法返回像 sql 校验和函数这样的值?谢谢

最佳答案

在 SQL Server 论坛上,在这个 page , 它说:

SQL Server 中的内置 CHECKUM 函数是建立在一系列 4 位左旋转异或运算之上的。看这个post以获得更多解释。

我能够将 BINARY_CHECKSUM 移植到 c# 并且它似乎正在工作......我稍后会查看普通的 CHECKSUM......

private int SQLBinaryChecksum(string text)
{
long sum = 0;
byte overflow;
for (int i = 0; i < text.Length; i++)
{
sum = (long)((16 * sum) ^ Convert.ToUInt32(text[i]));
overflow = (byte)(sum / 4294967296);
sum = sum - overflow * 4294967296;
sum = sum ^ overflow;
}

if (sum > 2147483647)
sum = sum - 4294967296;
else if (sum >= 32768 && sum <= 65535)
sum = sum - 65536;
else if (sum >= 128 && sum <= 255)
sum = sum - 256;

return (int)sum;
}

关于c# - C# 中的 SqlServer 校验和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18877523/

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