gpt4 book ai didi

c# - MD5 哈希值前缀为 '0x'

转载 作者:行者123 更新时间:2023-12-02 04:06:12 26 4
gpt4 key购买 nike

我可以访问允许文件上传的数据库(SQL 2008 R2)。在表中,它有一列名为“hash_key”的列,我认为它是 md5 校验和。

我正在尝试在我正在编写的内容中包含一些逻辑,这也将计算出 md5 文件。

问题是两个系统为同一文件生成略有不同的哈希值。系统将返回:

0x098F6BCD4621D373CADE4E832627B4F6

我的函数(以及一些在线函数)会为同一个文件返回这个

098F6BCD4621D373CADE4E832627B4F6

如您所见,唯一的不同是前两个 (0x) 字符。这取决于数据库存储值的方式吗?数据库字段为二进制(16)

在进行比较时忽略前两个字符是否安全?

最佳答案

您可以使用带有 2 个参数的 SQL 函数 HASHBYTES():

HASHBYTES('MD5', 'yourString') => 0x349DA9BFF6660DAD199ACF68D353DBA3

或者您可以使用带有 3 个参数的 CONVERT():

CONVERT(varchar(32),HASHBYTES('MD5', 'yourString'),2) => 349DA9BFF6660DAD199ACF68D353DBA3

关于c# - MD5 哈希值前缀为 '0x',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39445318/

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