```{index} single: b64digest; Digest::SHA function ``` ```{index} single: Digest::SHA::b64digest; Perl function ``` # b64digest Finalise the running hash and return the digest as an unpadded Base64 string. Identical to `digest` except that the result is the standard Base64 encoding of the digest **without** trailing `=` padding. The length depends on algorithm: 27 characters for SHA-1, 43 for SHA-256, 86 for SHA-512, etc. As with `digest` and `hexdigest`, the object is reset after the call. ## Synopsis ```perl my $b64 = $sha->b64digest; ``` ## What you get back A Base64 string using the standard alphabet, with no `=` padding. ## Examples ```perl my $sha = Digest::SHA->new(256); $sha->add("abc"); print $sha->b64digest; ## ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0 ``` ```perl ## Compact integrity tag for a message body: my $tag = Digest::SHA->new(256)->add($body)->b64digest; ``` ```perl use Digest::SHA; print Digest::SHA->new(512)->add("hello")->b64digest, "\n"; ``` ## Edge cases - Auto-resets the object. - Returned string never contains `=` — reattach padding yourself if you need to decode against a strict Base64 parser that requires it. - Called on a non-`Digest::SHA` object, returns `undef`. ## Differences from upstream Fully compatible with upstream `Digest::SHA` {{ upstream.Digest_SHA }}. ## See also - `digest` — raw-byte counterpart. - `hexdigest` — hexadecimal counterpart. - `sha256_base64` — functional one-shot with the same output shape.