Что делает SHA1Managed.Initialize()
на самом деле делаете? Когда нужно называть это? The documentation очень редкий.(Когда) Необходимо ли вызвать SHA1Managed.Initialize()?
3
A
ответ
3
проверки декомпилированный кода, он просто очищает вне buffer
и expandedBuffer
байтовые массивы:
public override void Initialize()
{
this.InitializeState();
Array.Clear((Array) this._buffer, 0, this._buffer.Length);
Array.Clear((Array) this._expandedBuffer, 0, this._expandedBuffer.Length);
}
Для краткости, в InitializeState
метод, который также называют в конструкторе:
private void InitializeState()
{
this._count = 0L;
this._stateSHA1[0] = 1732584193U;
this._stateSHA1[1] = 4023233417U;
this._stateSHA1[2] = 2562383102U;
this._stateSHA1[3] = 271733878U;
this._stateSHA1[4] = 3285377520U;
}
Нет необходимо позвонить Initialize
по строительству. Похоже на кнопку сброса.
0
От CoreCLR:
[System.Security.SecuritySafeCritical] // auto-generated
public override void Initialize() {
if (_safeHashHandle != null && !_safeHashHandle.IsClosed)
_safeHashHandle.Dispose();
// _CreateHash will check for failures and throw the appropriate exception
_safeHashHandle = Utils.CreateHash(Utils.StaticProvHandle, Constants.CALG_SHA1);
}
Это выглядит называться как часть стандартных реализаций методов HashAlgorihthm, и не похоже, что это когда-нибудь должно быть вызвано непосредственно во время нормальной эксплуатации.
Смежные вопросы
- 1. Необходимо вызвать метод, когда устройство BecomeActive
- 2. Когда необходимо вызвать DOMConfigurator.configure для чтения файла log4j.xml?
- 3. Призма: необходимо вызвать RaiseCanExecuteChanged() явно
- 4. Необходимо вызвать один экземпляр класса
- 5. Необходимо вызвать jquery из mvc
- 6. Почему DrawableGameComponent необходимо вызвать base.Draw()?
- 7. Когда необходимо перезапустить Sensu
- 8. Необходимо ли использовать Clonable?
- 9. sqlite3_reset(), когда это необходимо?
- 10. Необходимо ли вызвать Looper.prepare() из потока пользовательского интерфейса?
- 11. Python Inheritance: Необходимо ли явно вызвать конструктор и деструктор родителей?
- 12. Необходимо вызвать имя класса внутри jquery
- 13. необходимо вызвать событие при завершении прокрутки
- 14. Необходимо вызвать функцию associate() перед вызовом activate()
- 15. Проверка JBoss bean необходимо вызвать EJB
- 16. Необходимо вызвать клиентскую библиотеку DLL из браузера
- 17. Необходимо вызвать метод из определенного класса
- 18. Когда внедряется RecyclerView абсолютно необходимо?
- 19. android.util.AndroidRuntimeException: requestFeature() необходимо вызвать перед добавлением содержимого
- 20. необходимо вызвать функцию перемещения мыши при загрузке
- 21. Необходимо вызвать контроллер MVC из SSIS
- 22. необходимо вызвать onDataReturnInitializeTable в пользовательском обратном вызове
- 23. Динамическое свойство необходимо явно вызвать __get__ (Python)
- 24. необходимо вызвать мыло ws без wsdl
- 25. «setURLToShare» необходимо вызвать для вызова к действию
- 26. Необходимо знать, когда приложение закрывается
- 27. ли функция объекта необходимо
- 28. Есть > когда-нибудь необходимо?
- 29. Application.DoEvents, когда это необходимо, а когда нет?
- 30. Необходимо ли ускорить амперсанд?
Похоже, он просто обнуляет внутренний буфер, если область памяти содержит конфиденциальные данные: http://referencesource.microsoft.com/#mscorlib/system/security/cryptography/sha1managed.cs,e228b8e0c77ca9b1 – cubrr