summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2022-07-29 07:46:09 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-07-29 10:51:05 +0200
commit62645add8150d18c02922d1e14ca16ba4d1b707e (patch)
treec4be469cbddee348390249186912a7b79ca0b3a9
parentitems: Add data_digest() (diff)
downloadrtems-central-62645add8150d18c02922d1e14ca16ba4d1b707e.tar.bz2
items: Use SHA256 for digest
-rw-r--r--rtemsspec/items.py5
-rw-r--r--rtemsspec/tests/test_items_item.py10
2 files changed, 8 insertions, 7 deletions
diff --git a/rtemsspec/items.py b/rtemsspec/items.py
index 9f32315b..c0815256 100644
--- a/rtemsspec/items.py
+++ b/rtemsspec/items.py
@@ -25,6 +25,7 @@
# POSSIBILITY OF SUCH DAMAGE.
from contextlib import contextmanager
+import base64
import hashlib
import os
import pickle
@@ -173,9 +174,9 @@ def _hash_data(data, state) -> None:
def data_digest(data: Any) -> str:
""" Returns a digest of the data. """
- state = hashlib.sha512()
+ state = hashlib.sha256()
_hash_data(data, state)
- return state.hexdigest()
+ return base64.urlsafe_b64encode(state.digest()).decode("ascii")
class Item:
diff --git a/rtemsspec/tests/test_items_item.py b/rtemsspec/tests/test_items_item.py
index 38187c07..6afa38a6 100644
--- a/rtemsspec/tests/test_items_item.py
+++ b/rtemsspec/tests/test_items_item.py
@@ -94,15 +94,15 @@ def test_cache():
def test_digest():
i = Item(EmptyItemCache(), "i", {})
- assert i.digest == "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
+ assert i.digest == "47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU="
i["_ignored"] = "nix"
- assert i.digest == "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
+ assert i.digest == "47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU="
i["a"] = {"b": ["c", 1, False, 1.25], "d": None}
- assert i.digest == "24944e62a4e79b109c5fa97264b8c2fd694a630ede9a82ca7de36a64d01cbc902d29611490cef78e915b44b022b622de058fed2e4bdda394cb37ab9636d06925"
+ assert i.digest == "J0ljdR4wMT8y9Rid7I50SfVlgtvn1iTbgCLC5G7RNNQ="
i["a"] = {"b": ["e", 1, False, 1.25], "d": None}
- assert i.digest == "da696508ae767be7d34f16d51a2fe151a942c213596f5de4baf3c048ee519dd97dc19ab813c8730b861fad4c9c82f18652ad87402c84f80aaa59d24f3ed83c20"
+ assert i.digest == "_6QYG-kB-AmaRXaskJZ9fuJwxvM6mQRTNNrWbIRcYGw="
i["a"] = {"b": ["e", "1", False, 1.25], "d": None}
- assert i.digest == "7404cafe87a132de131d1e88170ce6d671de36bba811f9a10892a82a21a8e923f7596838d0f9cced24fe34620485603165efd9f64fffb2363c96253fd640b086"
+ assert i.digest == "_sNRYXk0DTOp1lptrqqd2kb5hIlg-SGeynVVLGnbmKs="
def test_get_key_path():