我想加密一个字符串并解密它,为了加密我做了
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
是的,我完全错了,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