如何从ByteString转换为正整数

时间:2017-11-01 07:20:58

标签: haskell bytestring

我正在尝试生成大的随机素数(1024 bit-ish),所以我需要一种方法来生成大的正随机数。

我从System.Random开始,但想从Crypto.Random包中转移到crypto-api

Crypto.Random只生成字节串,所以我需要一种转换为Integer类型的方法。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:5)

如果不在GHC.Integer的内部进行调整,您可以将字节字符串一次折叠成 if length in [3, 4, 5]: print('number_same =', length) print('element =', value) print('positions =', 'still working on this') ==== OUTPUT ==== number_same = 3 element = 0 positions = still working on this 个字节。

Integer

如果您想要阅读import qualified Data.ByteString as BS import Data.Bits fromBytes :: ByteString -> Integer fromBytes = BS.foldl' f 0 where f a b = a `shiftL` 8 .|. fromIntegral b 个数字而不是Natural个,则可以为此提供更一般的类型签名。

Integer