Имя: Пароль:
1C
 
Хеширование 256 в 1с
,
0 Лентаf
 
08.06.22
13:51
Добрый день!

Открыл онлайнконвертер, делаю хеш256 бинарного значения, https://ibb.co/8dNyjfx

получаю 5c 62 e0 91 b8 c0 56 5f 1b af ad 0d ad 59 34 27 61 43 ae 2c ce f7 a5 38 1e 8a da 5b 1a 8d 26 d2

Теперь делаю это в 1с:


    ДвоичнаяСтрока = "0101";
    
    Хеширование        = Новый ХешированиеДанных(ХешФункция.SHA256);
    ТипhexBinary    = ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "hexBinary");
    ДвоичныеДанные    = ФабрикаXDTO.Создать(ТипhexBinary,ДвоичнаяСтрока);
    Хеширование.Добавить(ДвоичныеДанные.Значение);    
    sign             = Хеширование.ХешСумма;


В итоге имею 9D CF 97 A1 84 F3 26 23 D1 1A 73 12 4C EB 99 A5 70 9B 08 37 21 E8 78 A1 6D 78 F5 96 71 8B A7 B2

Почему такое отличие?
1 Выпрь
 
08.06.22
13:52
Но зачем через фабрику?
2 Лентаf
 
08.06.22
13:53
брат, думаешь так надо?

    Хеширование2        = Новый ХешированиеДанных(ХешФункция.SHA256);
    Хеширование2.Добавить(ДвоичнаяСтрока);
    Хеш = Хеширование2.ХешСумма;
3 Выпрь
 
08.06.22
13:54
(2) так будут не байты, а строка. Тебе же 2 байта по 1 нужно, так?
4 Лентаf
 
08.06.22
13:55
(3) не понял вопроса, мне нужно хеш получить из бинарного значения.
5 Выпрь
 
08.06.22
13:57
(4) бинарное это когда 0 и 1 или все таки hex?
6 Лентаf
 
08.06.22
14:00
(5) 0 и 1
7 Лентаf
 
08.06.22
14:24
(2) Если так то результат тоже не тот 07 33 43 86 28 77 51 BA 02 A4 58 8C 1A 08 75 DB D0 74 A6 1B D9 E6 AB 7C 48 D2 44 EA CD 0C 99 E0
8 alarm2020
 
08.06.22
14:27
(0) Потому что хешировать полбайта - это извращение
9 Лентаf
 
08.06.22
14:28
(8) а как надо? 01010101?
10 Бабрак Кармаль
 
08.06.22
14:42
(2) > брат, думаешь так надо?
Сестра, что за чудный сайт в интернете по хешированию ты обнаружила, какой у него адрес?
11 crasler
 
08.06.22
14:45
(9) Преобразуй ДвоичнаяСтрока строку 1С в UTF-8 кодировку или ASCII
12 Garykom
 
гуру
08.06.22
14:58
ХешированиеДанных = ДобавитьФайл("С:/MyFile.txt");
13 Лентаf
 
08.06.22
15:03
(11) как это сделать?
14 Лентаf
 
08.06.22
15:05
(10) а что?
15 Лентаf
 
08.06.22
15:06
(10) это обычный калькулятор онлайн, из бинарных данных, (не из текста) хеширует.
16 crasler
 
08.06.22
15:14
(13) Что то вроде

Поток = Новый ПотокВПамяти();
ЗаписьТекста = Новый ЗаписьТекста(Поток, КодировкаТекста.UTF8);
ЗаписьТекста.ЗаписатьСтроку(ДвоичнаяСтрока);
ЗаписьТекста.Закрыть();
ДвоичнаяСтрока = Поток.ЗакрытьИПолучитьДвоичныеДанные();
17 Бабрак Кармаль
 
08.06.22
15:29
(11) > cтроку 1С в UTF-8 кодировку или ASCII
Анекдот №-10087840
18 timurhv
 
08.06.22
15:35
(16) ПолучитьДвоичныеДанныеИзСтроки()
19 Chai Nic
 
08.06.22
15:47
Где-то я это уже видел...
Хеширование 256 в 1с