module Crypto.RNCryptor.Padding
( pkcs7Padding ) where
import Data.ByteString (ByteString)
import qualified Data.ByteString as B
pkcs7Padding :: Int
-> Int
-> ByteString
pkcs7Padding :: Int -> Int -> ByteString
pkcs7Padding Int
k Int
l =
let octetsSize :: Int
octetsSize = Int
k Int -> Int -> Int
forall a. Num a => a -> a -> a
- (Int
l Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
k)
in [Word8] -> ByteString
B.pack ([Word8] -> ByteString) -> [Word8] -> ByteString
forall a b. (a -> b) -> a -> b
$ Int -> Word8 -> [Word8]
forall a. Int -> a -> [a]
replicate Int
octetsSize (Int -> Word8
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
octetsSize)