@@ -24,12 +24,6 @@ defmodule Plug.Crypto do
2424 def prune_args_from_stacktrace ( stacktrace ) when is_list ( stacktrace ) ,
2525 do: stacktrace
2626
27- @ doc false
28- @ deprecated "Use non_executable_binary_to_term/2"
29- def safe_binary_to_term ( binary , opts \\ [ ] ) do
30- non_executable_binary_to_term ( binary , opts )
31- end
32-
3327 @ doc """
3428 A restricted version of `:erlang.binary_to_term/2` that forbids
3529 *executable* terms, such as anonymous functions.
@@ -202,17 +196,9 @@ defmodule Plug.Crypto do
202196 """
203197 def encrypt ( key_base , secret , data , opts \\ [ ] )
204198 when is_binary ( key_base ) and is_binary ( secret ) do
205- encrypt ( key_base , secret , nil , data , opts )
206- end
207-
208- @ doc false
209- def encrypt ( key_base , secret , salt , data , opts ) do
210199 data
211200 |> encode ( opts )
212- |> MessageEncryptor . encrypt (
213- get_secret ( key_base , secret , opts ) ,
214- get_secret ( key_base , salt , opts )
215- )
201+ |> MessageEncryptor . encrypt ( get_secret ( key_base , secret , opts ) , "" )
216202 end
217203
218204 defp encode ( data , opts ) do
@@ -306,25 +292,22 @@ defmodule Plug.Crypto do
306292
307293 """
308294 def decrypt ( key_base , secret , token , opts \\ [ ] )
295+
296+ def decrypt ( key_base , secret , nil , opts )
309297 when is_binary ( key_base ) and is_binary ( secret ) and is_list ( opts ) do
310- decrypt ( key_base , secret , nil , token , opts )
298+ { :error , :missing }
311299 end
312300
313- @ doc false
314- def decrypt ( key_base , secret , salt , token , opts ) when is_binary ( token ) do
301+ def decrypt ( key_base , secret , token , opts )
302+ when is_binary ( key_base ) and is_binary ( secret ) and is_list ( opts ) do
315303 secret = get_secret ( key_base , secret , opts )
316- salt = get_secret ( key_base , salt , opts )
317304
318- case MessageEncryptor . decrypt ( token , secret , salt ) do
305+ case MessageEncryptor . decrypt ( token , secret , "" ) do
319306 { :ok , message } -> decode ( message , opts )
320307 :error -> { :error , :invalid }
321308 end
322309 end
323310
324- def decrypt ( _key_base , _secret , _salt , nil , _opts ) do
325- { :error , :missing }
326- end
327-
328311 defp decode ( message , opts ) do
329312 { data , signed , max_age } =
330313 case non_executable_binary_to_term ( message ) do
@@ -345,10 +328,6 @@ defmodule Plug.Crypto do
345328 ## Helpers
346329
347330 # Gathers configuration and generates the key secrets and signing secrets.
348- defp get_secret ( _secret_key_base , nil , _opts ) do
349- ""
350- end
351-
352331 defp get_secret ( secret_key_base , salt , opts ) do
353332 iterations = Keyword . get ( opts , :key_iterations , 1000 )
354333 length = Keyword . get ( opts , :key_length , 32 )
0 commit comments