Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Хэш паспорта / 4 сообщений из 4, страница 1 из 1
18.11.2020, 08:33
    #40019797
Евгенич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш паспорта
Добрый день всем!

ФинЦерт рассылает списки паспортов получателей платежей - мошенников в виде хэш (SHA2_256)
Каким образом правильно рассчитать хэш паспорта в MSSQL (версия 2016)?

Например для паспорта 6307111111 хэш от ФинЦерта представлен как d05fab81aefdfeac82c521c114d1c363a8a02d9d815fb897e97eaf08877d380b

Функция HASHBYTES выдает значение VARBINARY

Код: sql
1.
2.
3.
4.
DECLARE @HashThis nvarchar(4000);
SELECT @HashThis = CONVERT(nvarchar(4000),'6307111111');
SELECT HASHBYTES('SHA2_256', @HashThis);
GO



0x4E8523EA9E8E3F1F7454766E22E8DE799715D00C6582C510EB137F4B644B8CEC

Перевод в varchar ничего не дает

Код: sql
1.
2.
SELECT convert(varchar(max),HASHBYTES('SHA2_256', '6307111111'),1)
GO



0xD05FAB81AEFDFEAC82C521C114D1C363A8A02D9D815FB897E97EAF08877D380B
...
Рейтинг: 0 / 0
18.11.2020, 08:42
    #40019799
НеофитSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш паспорта
Евгенич
Добрый день всем!

ФинЦерт рассылает списки паспортов получателей платежей - мошенников в виде хэш (SHA2_256)
Каким образом правильно рассчитать хэш паспорта в MSSQL (версия 2016)?

Например для паспорта 6307111111 хэш от ФинЦерта представлен как ==>d05fab81aefdfeac82c521c114d1c363a8a02d9d815fb897e97eaf08877d380b

Функция HASHBYTES выдает значение VARBINARY

Код: sql
1.
2.
3.
4.
DECLARE @HashThis nvarchar(4000);
SELECT @HashThis = CONVERT(nvarchar(4000),'6307111111');
SELECT HASHBYTES('SHA2_256', @HashThis);
GO



0x4E8523EA9E8E3F1F7454766E22E8DE799715D00C6582C510EB137F4B644B8CEC

Перевод в varchar ничего не дает

Код: sql
1.
2.
SELECT convert(varchar(max),HASHBYTES('SHA2_256', '6307111111'),1)
GO



==>0xD05FAB81AEFDFEAC82C521C114D1C363A8A02D9D815FB897E97EAF08877D380B


==> ?
...
Рейтинг: 0 / 0
18.11.2020, 08:43
    #40019800
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш паспорта
Проблема с переводом строки в нижний регистр, что ли?

Или

Код: sql
1.
SELECT lower ( convert(varchar(100),HASHBYTES('SHA2_256', '6307111111'),2) )



или, еще лучше, d05fab81aefdfeac82c521c114d1c363a8a02d9d815fb897e97eaf08877d380b переведите в binary (32)
...
Рейтинг: 0 / 0
18.11.2020, 09:48
    #40019822
Евгенич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш паспорта
Гавриленко Сергей Алексеевич,

Да, спасибо, lower не критичен, а вот параметр 2 в корне поменял ситуацию. Теперь все работает.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Хэш паспорта / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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