hug*_*omg 19 haskell bytestring
运行以下代码:
import Crypto.BCrypt
import Data.ByteString.Lazy.Char8
main = do
maybe_pwhash <- hashPasswordUsingPolicy slowerBcryptHashingPolicy (pack "hunter2")
print $ maybe_pwhash
Run Code Online (Sandbox Code Playgroud)
我收到以下编译错误:
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")
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为我不明白为什么a Data.ByteString.Internal.ByteString
和a 之间有区别ByteString
.
根据bcrypt文档,你应该使用严格的字节串
import Data.ByteString.Char8
Run Code Online (Sandbox Code Playgroud)
而不是懒惰的:
import Data.ByteString.Lazy.Char8
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4652 次 |
最近记录: |