License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | Good |
Safe Haskell | None |
Language | Haskell98 |
Crypto.Number.Serialize
Description
fast serialization primitives for integer
- i2osp :: Integer -> ByteString
- os2ip :: ByteString -> Integer
- i2ospOf :: Int -> Integer -> Maybe ByteString
- i2ospOf_ :: Int -> Integer -> ByteString
- lengthBytes :: Integer -> Int
Documentation
i2osp :: Integer -> ByteString Source #
i2osp converts a positive integer into a byte string
os2ip :: ByteString -> Integer Source #
os2ip converts a byte string into a positive integer
i2ospOf :: Int -> Integer -> Maybe ByteString Source #
just like i2osp, but take an extra parameter for size.
if the number is too big to fit in len bytes, nothing is returned
otherwise the number is padded with 0 to fit the
len required.
FIXME: use unsafeCreate to fill the bytestring
i2ospOf_ :: Int -> Integer -> ByteString Source #
just like i2ospOf except that it doesn't expect a failure: i.e. an integer larger than the number of output bytes requested
for example if you just took a modulo of the number that represent the size (example the RSA modulo n).
lengthBytes :: Integer -> Int Source #
returns the number of bytes to store an integer with i2osp
with integer-simple, this function is really slow.