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. 是否需要調用session_write_close?
- 2. 是否需要調用AsyncOperation.PostOperationCompleted?
- 3. 是否需要調用?
- 4. 是否需要調用CloseHandle?
- 5. 我是否需要調用MessageBox調用?
- 6. ConnectivityManager.getActiveNetworkInfo()是否需要經常調用?
- 7. 是否需要從UserData調用cfn-init?
- 8. 調用entityManager.find()是否需要EntityTransaction?
- 9. AS3:是否需要調用BitmapData.dispose()?
- 10. 是否需要調用命令
- 11. JUnit測試 - 是否需要調用JUnitCore.main()?
- 12. HttpURLConnection:是否需要調用connect()?
- 13. DynamoDB - 是否需要調用shutdown()?
- 14. 何時需要調用git_remote_update_tips?
- 15. 當調用setComparator()時,Jface TableViewer是否需要時間加載?
- 16. 我是否需要調用EasyTracker.getInstance(this);每次我需要easyTracker?
- 17. 當我調用UITableView reloadData方法時,是否需要使用@synchronized?
- 18. 何時檢查是否需要GC?
- 19. 使用camel時,cxf:rsServer是否需要jaxrs:server?
- 20. 使用AddHandler時,是否需要EnterWriteLock?
- 21. 調用MPI_Comm_spawn時,所有進程是否需要所有數據?
- 22. 我是否需要在註銷時調用offAuth方法?
- 23. 調用外部API時是否需要任務/消息隊列?
- 24. 在調用`startUpdatingLocation`之後``locationManager:didUpdateToLocation:fromLocation:`是否需要很長時間?
- 25. 您是否需要在每次調用API時訂閱Observable?
- 26. 在IE7中,jquery是否需要GET方法調用時間戳?
- 27. 編寫ActionFilter時是否需要調用基本方法?
- 28. Laravel調度 - 是否需要域名
- 29. 是否需要調用std構造函數的調用?
- 30. 是否需要使用imap_close?
看起來只是在內存區域包含敏感數據的情況下清零內部緩衝區:http://referencesource.microsoft.com/#mscorlib/system/security/cryptography/sha1managed.cs,e228b8e0c77ca9b1 – cubrr