我正在嘗試使用 replit.com 上的 Crypto.Hash 模塊對文本進行哈希處理,但我不知道如何解決此故障:找不到模塊“Crypto.Hash”
代碼:
import Crypto.Hash (hashWith, SHA256(..))
import Data.ByteString (ByteString)
main = do
putStrLn "Hello"
putStrLn "World"
hashWith SHA256 ("hello" :: ByteString)
我將非常感謝您的幫助!!!
uj5u.com熱心網友回復:
它看起來replit.com是基于 Nix 的,它使用replit.nix組態檔來配置 Nix 環境,包括加載的 GHC 包。
因此,讓這個作業的一種方法是編輯replit.nix檔案。(默認情況下,“檔案”選項卡中不會顯示,但您可以單擊右上角垂直的“...”并選擇“顯示隱藏檔案”進行查看。)修改它看起來就像是:
{ pkgs }: {
deps = [
(pkgs.haskellPackages.ghcWithPackages (pkgs: [
pkgs.cryptonite
]))
pkgs.haskell-language-server
];
}
現在,當您運行源代碼時,它應該重新配置 Nix 環境并加載所需的cryptonite包。您可能還需要稍微修改您的代碼,因為它使用OverloadedStrings擴展,而hashWith不是 IO 操作。我得到了以下Main.hs作業:
{-# LANGUAGE OverloadedStrings #-}
import Crypto.Hash (hashWith, SHA256(..))
import Data.ByteString (ByteString)
main = do
print $ hashWith SHA256 ("hello" :: ByteString)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/436373.html
