Haskell 加密哈希 SHA256 重新拆分失败
Haskell Crypto Hash SHA256 replit failure
我正在尝试使用 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)
非常感谢您的帮助!!!
看起来replit.com
是基于Nix的,它使用replit.nix
配置文件来配置Nix环境,包括加载的GHC包。
因此,实现此功能的一种方法是编辑 replit.nix
文件。 (默认情况下,它不会显示在“文件”选项卡中,但您可以单击top-right角的垂直“...”和select“显示隐藏文件”查看它.) 修改它看起来像:
{ 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)
我正在尝试使用 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)
非常感谢您的帮助!!!
看起来replit.com
是基于Nix的,它使用replit.nix
配置文件来配置Nix环境,包括加载的GHC包。
因此,实现此功能的一种方法是编辑 replit.nix
文件。 (默认情况下,它不会显示在“文件”选项卡中,但您可以单击top-right角的垂直“...”和select“显示隐藏文件”查看它.) 修改它看起来像:
{ 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)