def pkcs7.pad.oct
import bend-osdev-cipher-modes@0.1.0.0/pkcs7.bend as Pkcs7import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
20# m and its padding (on Octets, so that a long message is not walked as a
21# list: Bend 2.0.37's runtime overflows its stack on deep structural
22# recursion)
23def pkcs7.pad.oct(+bs: Nat, +m: B.Octets) -> B.Octets:
24 +p = Nat.sub(bs, Nat.mod(B.Octets.len(m), bs))
25 B.Octets.append(m, B.Octets.of_list(pkcs7.fill(p, U32.from_nat(p))))