[rtems-central commit] items: Use SHA256 for digest

Sebastian Huber sebh at rtems.org
Fri Jul 29 08:43:47 UTC 2022


Module:    rtems-central
Branch:    master
Commit:    62645add8150d18c02922d1e14ca16ba4d1b707e
Changeset: http://git.rtems.org/rtems-central/commit/?id=62645add8150d18c02922d1e14ca16ba4d1b707e

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Jul 29 07:46:09 2022 +0200

items: Use SHA256 for digest

---

 rtemsspec/items.py                 |  5 +++--
 rtemsspec/tests/test_items_item.py | 10 +++++-----
 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():



More information about the vc mailing list