функция CalculateHashDigest [SWS_CRYPT_50060] Upstream: RS_CRYPTO_02205
virtual ara::core::Result< std::size_t > CalculateHashDigest (ReadOnly MemRegion data, ReadWriteMemRegion digest, ara::core::Optional< Read OnlyMemRegion > iv) const noexcept=0;
Calculate the hash digest and write the the calculated digest into the provided output buffer.
Метод CalculateHashDigest выполняет синхронное one-shot-вычисление криптографического хеш-значения и записывает результат в предоставленный выходной буфер [SWS_CRYPT_50060]. В качестве параметров передаются обрабатываемое входное сообщение data, целевой буфер digest, а также необязательный вектор инициализации iv. При успешном выполнении функция через объект результата ara::core::Result<std::size_t> возвращает фактическое количество записанных байтов дайджеста [SWS_CRYPT_50060].
Обработка ошибок
Если вычисление завершается сбоем, интерфейс гарантирует семантику отката [SWS_CRYPT_50060]. Результат может содержать следующие коды ошибок:
ara::crypto::CryptoErrc::kInvalidInputSize: размер переданных данных или вектора инициализации не поддерживается [SWS_CRYPT_50060].ara::crypto::CryptoErrc::kUnsupported: вычисление single-call не поддерживается контекстом или передача вектора инициализации не соответствует конфигурации контекста (IV требуется, но отсутствует, либо IV передан, хотя не поддерживается) [SWS_CRYPT_50060].ara::crypto::CryptoErrc::kInsufficientCapacity: емкости выходного буфераdigestнедостаточно для вычисленного дайджеста [SWS_CRYPT_50060].
Параллелизм и взаимодействие
Функция объявлена как безопасная к исключениям (exception safe) и потокобезопасная (thread-safe) [SWS_CRYPT_50060]. Чтобы заранее избежать ошибок, связанных с недопустимой длиной входных данных, максимально допустимый для одиночного вызова размер буфера контекста можно определить через GetMaximumChunkSize [SWS_CRYPT_50062].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R25-11.
Руководство разработчика реализации в подготовке (сложность I1)
| Header-Datei | #include "ara/crypto/cryp/hash_function_ctx.h" |
|---|---|
| Scope | class ara::crypto::cryp::HashFunctionCtx |
| Exception-Sicherheit | exception safe |
| Thread-Sicherheit | thread-safe |
Parameter (in)
| Parameter | Beschreibung |
|---|---|
| data | the input message that should be processed |
| iv | an optional initialization vector |
Parameter (out)
| Parameter | Beschreibung |
|---|---|
| digest | an output data buffer that the digest will be written into. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| ara::core::Result<std::size_t > | A result containing the size in bytes of the digest or an error. |
Fehler
| Fehlercode | Beschreibung |
|---|---|
| ara::crypto::CryptoErrc::kInvalidInputSize | rollback_semantics if the size of provided data or IV is not supported |
| ara::crypto::CryptoErrc::kUnsupported | rollback_semantics if single-call operation is not supported, or if the context requires setting an IV but no IV is provided, or if the context does not support setting an IV but an IV is provided |
| ara::crypto::CryptoErrc::kInsufficientCapacity | rollback_semantics if the output buffer is too small |
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/SWS_CRYPT_50060- Status
- valid/unmigrated
- Version
AUTOSAR/AP/record/SWS_CRYPT_50060@rel:R25-11#d8df4b3b- Content hash
d8df4b3b- Source
- https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50060
Status: valid/unmigrated
Version: rel:R25-11#29fd4c6d
Versionshistorie & Revisions (1 transition)
- Current State
valid/unmigrated- Reason
- mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
- Campaign
2026-08-13-status-backfill- Active Version
AUTOSAR/AP/record/SWS_CRYPT_50060@rel:R25-11#29fd4c6d
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
|---|---|---|---|---|
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал