(key, msg, digest)
| 267 | |
| 268 | |
| 269 | def _compute_digest_fallback(key, msg, digest): |
| 270 | digest_cons = _get_digest_constructor(digest) |
| 271 | if _is_shake_constructor(digest_cons): |
| 272 | raise ValueError(f"unsupported hash algorithm {digest}") |
| 273 | inner = digest_cons() |
| 274 | outer = digest_cons() |
| 275 | blocksize = getattr(inner, 'block_size', 64) |
| 276 | if len(key) > blocksize: |
| 277 | key = digest_cons(key).digest() |
| 278 | key = key.ljust(blocksize, b'\0') |
| 279 | inner.update(key.translate(trans_36)) |
| 280 | outer.update(key.translate(trans_5C)) |
| 281 | inner.update(msg) |
| 282 | outer.update(inner.digest()) |
| 283 | return outer.digest() |
no test coverage detected
searching dependent graphs…