问题标签 [hashbytes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1236 浏览

c# - C# hash 和 sql server 的 hashbytel 函数,相同的实现?

我想同时拥有 c# 级别和 sql server 2012 级别。

我如何知道 SHA1 实现是否会产生相同的结果?

在我正在做的 sql server 中:

我还没有编写我的 c# 函数。

我只是担心如果它们不产生相同的哈希值,我的应用程序会出现一些不一致的情况。

注意: 我将用于创建哈希的列是 datetime、nvarchar 和 int。我必须将这些转换为字符串正确吗?

0 投票
1 回答
854 浏览

c# - SQL Uniqueidentifier hashbytes 不匹配

我有C#制作连接SQL Server 2014数据库的应用程序。当我在 上创建GuidC#,它通过lower case. 但是当我进行查询时SQL,我得到了这个值upper case。这个Guid值需要被 散列SHA1,并且 asSQL返回不同的hashed value

是因为collation?

我用Turkish_CI_AI.

0 投票
0 回答
72 浏览

hashbytes - 我怎样才能获得 nvarchar 的哈希字节(最大)?

如果我使用正常选择哈希字节('md5','std.jobText'),如何找到 nvarchar(max)的哈希字节

我收到错误:字符串或二进制数据将被截断。

有人可以提出任何解决方案吗?

0 投票
2 回答
555 浏览

sql-server - SQL Server HashBytes 函数

有人可以告诉我为什么我得到以下不同的答案:

这是一个非常简单的函数,用于返回哈希值:

这是我的 SQL,它返回 2 个不同的值:

结果:

由于某种原因,该函数没有返回与 HASH1 相同的值。我只是不确定为什么。

谢谢。

更新:

接受的答案如下,我只是将 (max) 添加到 VARBINARY 以返回整个值。谢谢大家。

0 投票
2 回答
7600 浏览

sql-server - SQL Server:如何检索使用 HASHBYTES 加密的密码的实际值

在此处输入图像描述

我正在以这种形式获得插入值在此处输入图像描述

现在我想要密码的实际值。我怎么才能得到它?

0 投票
2 回答
430 浏览

java - Java PreparedStatement:将参数绑定到 HASHBYTES

现在,我有下面的准备好的声明,它有效:

但是,当我尝试参数化要由HASHBYTES加密的值(在本例中为变量'password')时,会出现某种不返回结果的读取/类型/转换错误。这是不起作用的代码:

我根本没有收到任何错误消息;结果集在 rowCount 属性中返回“-3”。我正在使用SQL Server

像这样传递“密码”占位符:“?” 也不起作用。参数化此查询的正确方法是什么?

0 投票
2 回答
633 浏览

tsql - 是否可以使用 t-SQL 为不在数据库中的文件使用 HASHBYTES 存储哈希?

我只是想知道是否可以使用 t-SQL (SQL Server 2012) 为不在数据库中的文件使用 HASHBYTES 存储 MD5 哈希?

我只是想实现上面所说的,而不使用除 T-SQL 之外的任何东西。那就是约束天气或没有更好的方法。这是一个不灵活的约束/要求,只能使用 T-SQL。没有插件没有 powrshell 只有 T-SQL。

任何人都可以提供 T-SQL 代码来实现将某个文件的哈希(无论您想要什么名称)放入表中的字段(使用您喜欢的任何名称)的目标吗?

我知道有些人可能会认为有更好的方法,但更好的方法不是喜欢或不喜欢的选择。因此,请不要提供任何非 100% T-SQL 解决方案或评论。

0 投票
4 回答
11483 浏览

sql-server - SQL Server 2014 Hashbytes 的 nvarchar(max) 结果是 nvarchar(max)

使用 SQL Server 2014,我有一个表,其中有一个nvarchar(max)名为的列,该列[ASCII File]可以包含许多 K 的 ASCII 文本文件。然后我想对该文件执行 MD5 哈希字节,生成的哈希值应始终为 20 个字节。

好吧,当我进行选择时,hashbytes('MD5', [ASCII File])我会完成查询并出现错误

消息 8152、级别 16、状态 10、第 4 行
字符串或二进制数据将被截断。

我尝试时收到相同的消息

我尝试时收到相同的消息

似乎因为我正在做 hashbytes 的列是nvarchar(max),所以 hashbytes 函数的结果也是nvarchar(max)

您能告诉我如何使结果达到预期的 20 长,而不是必须截断的那么长吗?

0 投票
1 回答
1439 浏览

sql - 带有 datetime2 字段的 HashBytes

我正在使用多个列上的哈希字节创建一个哈希键,以获得我们现在在 where 子句中使用的性能增益。

但是其中一列是我无法添加的 datetime2 字段。当我尝试时,我收到以下错误消息

“表 'table1' 中的计算列 'HashKey' 无法持久化,因为该列是不确定的。”。

根据我的研究,我发现不能使用 datetime2,因为它是不确定的。

但是我无法更改格式,因为我需要完全比较该值,因为它包括所有毫秒。

任何人都可以给我一个解决方法吗?任何替代解决方案将不胜感激。

0 投票
0 回答
325 浏览

c# - 将 SQL Hash Bytes 二进制值(多数据类型字段组合)转换为 c# 等效项

我在 HashBytes 的帮助下形成了一个哈希键,如下所示,SQL 上的多个字段组合。

以上所有文件的数据类型如下

但是我需要 C# 等效函数来获取值,这样我就可以在字段值上使用 c# 代码获取值,然后将值传递给 sql,然后将值与哈希键列进行比较。

我已经尝试如下获取等效于哈希键二进制值的 byte[] 值。但它与 sql hash key value 的值不同。

任何人都可以帮助解决我所缺少的吗?