@@ -13,12 +13,15 @@ This Source Code Form is subject to the terms of the
1313using ScriptEngine . Machine . Contexts ;
1414using System ;
1515using System . IO ;
16- using System . Runtime . Intrinsics . X86 ;
1716using System . Security . Cryptography ;
1817using System . Text ;
1918
2019namespace OneScript . StandardLibrary . Hash
2120{
21+ /// <summary>
22+ /// Реализует инкрементальный расчет хеш-суммы по добавленным данным.
23+ /// Тип вычисляемого значения определяются типом хеш-функции.
24+ /// </summary>
2225 [ ContextClass ( "ХешированиеДанных" , "DataHashing" ) ]
2326 public class HashImpl : AutoContext < HashImpl > , IDisposable
2427 {
@@ -42,9 +45,19 @@ public HashImpl(IncrementalHash provider, HashFunctionEnum enumValue)
4245 AppendData ( Array . Empty < byte > ( ) ) ;
4346 }
4447
48+ /// <summary>
49+ /// Вид хеш-функции, определяющий способ вычисления хеш-суммы.
50+ /// Только для чтения
51+ /// </summary>
52+ /// <value>Перечисление ХешФункция</value>
4553 [ ContextProperty ( "ХешФункция" , "HashFunction" ) ]
46- public HashFunctionEnum Extension => _enumValue ;
47-
54+ public HashFunctionEnum HashFunction => _enumValue ;
55+
56+ /// <summary>
57+ /// Текущее значение хеш-суммы. Только для чтения
58+ /// </summary>
59+ /// <value>Для хеш-функции CRC32 - Число, для остальных - ДвоичныеДанные
60+ /// </value>
4861 [ ContextProperty ( "ХешСумма" , "HashSum" ) ]
4962 public IValue Hash
5063 {
@@ -55,8 +68,13 @@ public IValue Hash
5568
5669 return new BinaryDataContext ( _hash ) ;
5770 }
58- }
59-
71+ }
72+
73+ /// <summary>
74+ /// Нестандартное расширение!
75+ /// Строковое представление текущего значения хеш-суммы. Только для чтения
76+ /// </summary>
77+ /// <value>Для хеш-функции CRC32 - Число, для остальных - ДвоичныеДанные</value>
6078 [ ContextProperty ( "ХешСуммаСтрокой" , "HashSumOfString" ) ]
6179 public string HashString
6280 {
@@ -123,8 +141,16 @@ private void AppendStream(Stream stream, int count)
123141 AppendData ( buffer , read ) ;
124142 toRead -= read ;
125143 }
126- }
127-
144+ }
145+
146+ /// <summary>
147+ /// Добавляет данные и обновляет хеш-сумму
148+ /// </summary>
149+ /// <param name="toAdd">Источник данных. Строка, ДвоичныеДанные или Поток</param>
150+ /// <param name="count">Для источника данных типов Строка или ДвоичныеДанные - игнорируется.
151+ /// Для источника данных типа Поток - Количество байтов, которые читаются из потока.
152+ /// Если количество не задано, нулевое <b>или отрицательное</b>, то читаются все данные до конца потока.
153+ /// </param>
128154 [ ContextMethod ( "Добавить" , "Append" ) ]
129155 public void Append ( BslValue toAdd , BslValue count = null )
130156 {
@@ -167,6 +193,10 @@ public void Append(BslValue toAdd, BslValue count = null)
167193 }
168194 }
169195
196+ /// <summary>
197+ /// Добавляет двоичные данные из файла и обновляет хеш-сумму
198+ /// </summary>
199+ /// <param name="path">Имя файла, из которого читаются данные. Тип: Строка</param>
170200 [ ContextMethod ( "ДобавитьФайл" , "AppendFile" ) ]
171201 public void AppendFile ( string path )
172202 {
0 commit comments