دالة 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: الحساب عبر استدعاء واحد غير مدعوم من السياق، أو أن تمرير متجه التهيئة لا يتطابق مع تكوين السياق (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#3ed120d2- Content hash
3ed120d2- 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 · الأصل الألماني