Running the following code:
import Crypto.BCrypt
import Data.ByteString.Lazy.Char8
main = do
maybe_pwhash <- hashPasswordUsingPolicy slowerBcryptHashingPolicy (pack "hunter2")
print $ maybe_pwhash
I get the following compilation error:
test.hs:5:70:
Couldn't match expected type `Data.ByteString.Internal.ByteString'
with actual type `ByteString'
In the return type of a call of `pack'
In the second argument of `hashPasswordUsingPolicy', namely
`(C.pack "hunter2")'
In a stmt of a 'do' block:
maybe_pwhash <- hashPasswordUsingPolicy
slowerBcryptHashingPolicy (pack "hunter2")
I am confused because I don't see why there is a difference between a Data.ByteString.Internal.ByteString
and a ByteString
.
According to the bcrypt docs, you should be using strict bytestrings
import Data.ByteString.Char8
instead of the lazy ones:
import Data.ByteString.Lazy.Char8
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With