Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / HASHBYTES втирает мне какоую-то дичЪ! / 3 сообщений из 3, страница 1 из 1
24.05.2018, 05:40
    #39649099
Oomel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HASHBYTES втирает мне какоую-то дичЪ!
Здравствуйте, товарищи.

Суть проблемы:
В базе существуют, предположим, следующие записи:
ПервичныйКлючТипЗаявкиДополнениеКод1Код2Код3Код4Код5Код6Значение1Значение2Значение3Значение4Значение5Значение61700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000002700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000003700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000004700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000005700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000006700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000007700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000008700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000009700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x800000000000000010700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x800000000000000011700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x8000000000000000

Над данным множеством выполняю:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
select *, 
HASHBYTES ('SHA1',
  ТипЗаявки
+ Дополнение
+ CAST(Код1 AS VARCHAR(10))
+ CAST(Код2 AS VARCHAR(10))
+ CAST(Код3 AS VARCHAR(10))
+ CAST(Код4 AS VARCHAR(10))
+ CAST(Код5 AS VARCHAR(10))
+ CAST(Код6 AS VARCHAR(10))
+ CONVERT(varchar(18),Значение1, 1)
+ CONVERT(varchar(18),Значение2, 1)
+ CONVERT(varchar(18),Значение3, 1)
+ CONVERT(varchar(18),Значение4, 1)
+ CONVERT(varchar(18),Значение5, 1)
+ CONVERT(varchar(18),Значение6, 1)
)
from #MyTable



И получаю:
ТипЗаявкиДополнениеКод1Код2Код3Код4Код5Код6Значение1Значение2Значение3Значение4Значение5Значение6ХЭШ700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x16920CFE2BFCC1DFFC72D45B8348A289F9D09D98 700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x16920CFE2BFCC1DFFC72D45B8348A289F9D09D98 700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x16920CFE2BFCC1DFFC72D45B8348A289F9D09D98 700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x16920CFE2BFCC1DFFC72D45B8348A289F9D09D98 700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x16920CFE2BFCC1DFFC72D45B8348A289F9D09D98 700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x944F116B2C5036088105AAB5DA3C37339ED5D784 700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x16920CFE2BFCC1DFFC72D45B8348A289F9D09D98 700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x16920CFE2BFCC1DFFC72D45B8348A289F9D09D98 700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x16920CFE2BFCC1DFFC72D45B8348A289F9D09D98 700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x944F116B2C5036088105AAB5DA3C37339ED5D784 700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x80000000000000000x16920CFE2BFCC1DFFC72D45B8348A289F9D09D98

Как видно, данные, по которым вычисляется хэш - одинаковые. Почему у двух записей из массива хэш не совпадает с остальными? кто подскажет?

MSSQL 2008R2
...
Рейтинг: 0 / 0
24.05.2018, 06:21
    #39649106
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HASHBYTES втирает мне какоую-то дичЪ!
Найдите 10 отличий:
Код: sql
1.
2.
3.
4.
5.
6.
7.
select hashbytes('SHA1',
'700211400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x8000000000000000'
)
union all
select hashbytes('SHA1',
'7002 11400000x80020000000007A10x80020000000048850x80000000000000000x80000000000000000x80000000000000000x8000000000000000'
)



Код: plaintext
1.
2.
3.
4.
5.
-------------------------------------------------
0x16920CFE2BFCC1DFFC72D45B8348A289F9D09D98
0x944F116B2C5036088105AAB5DA3C37339ED5D784

(2 row(s) affected)
...
Рейтинг: 0 / 0
24.05.2018, 06:31
    #39649108
Oomel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HASHBYTES втирает мне какоую-то дичЪ!
Сон Веры Павловны,

Хех, только начал писать ответ, что обнаружил проблему. Вы опередили.
Благодарю за ответ.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / HASHBYTES втирает мне какоую-то дичЪ! / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]