如何使用Plug.Crypto.decrypt?

问题描述 投票:0回答:1

我想加密一个字符串并解密它,为了加密我做了

enc_str = Plug.Crypto.encrypt("my_secret",  "raw_string", {})

为了解密,你尝试了这两个

Plug.Crypto.decrypt("my_secret", enc_str)
Plug.Crypto.decrypt("my_secret", enc_str, {})

返回以下错误

** (FunctionClauseError) no function clause matching in Plug.Crypto.decrypt/2
** (FunctionClauseError) no function clause matching in Plug.Crypto.decrypt/5

如何正确解密enc_str? 我只找到了 2 个对此方法的引用,但我真的不理解它们 https://hexdocs.pm/plug_crypto/Plug.Crypto.html#decrypt/4 https://shyr.io/blog/elixir-encrypt-data-plug-crypto

elixir phoenix-framework
1个回答
0
投票

是的,我完全错了,context是必要的。我会在这里添加答案,以防有人方便


context = :context #type of the encrypted token
secret = "secret"
str = "my_string"

enc_str = Plug.Crypto.encrypt(secret, to_string(context), "raw_string")

dec_str = Plug.Crypto.decrypt(secret, to_string(context), enc_str)

IO.puts(dec_str) # my_string

© www.soinside.com 2019 - 2024. All rights reserved.