aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/src
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2011-09-23 14:10:53 +0200
committerMicael Karlberg <[email protected]>2011-09-23 14:10:53 +0200
commit524ad34276ef31fc5c306943539e3fe9bd19ad8c (patch)
treeb6d497f9461375b02527bc3d1f10c7a58f3e38e0 /lib/crypto/src
parent3f9de4601b8539eea14de2d1517f54956e05d03a (diff)
parent92657321ac647f343c6b88985d66a2d611fd982d (diff)
downloadotp-524ad34276ef31fc5c306943539e3fe9bd19ad8c.tar.gz
otp-524ad34276ef31fc5c306943539e3fe9bd19ad8c.tar.bz2
otp-524ad34276ef31fc5c306943539e3fe9bd19ad8c.zip
Merge branch 'major' of super:otp into bmk/inets/inets58_integration
Diffstat (limited to 'lib/crypto/src')
-rw-r--r--lib/crypto/src/crypto.erl13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/crypto/src/crypto.erl b/lib/crypto/src/crypto.erl
index c35dfcebab..ddad00f4b4 100644
--- a/lib/crypto/src/crypto.erl
+++ b/lib/crypto/src/crypto.erl
@@ -91,7 +91,7 @@
aes_ctr_stream_init, aes_ctr_stream_encrypt, aes_ctr_stream_decrypt,
info_lib]).
--type rsa_digest_type() :: 'md5' | 'sha'.
+-type rsa_digest_type() :: 'md2' | 'md5' | 'sha'.
-type dss_digest_type() :: 'none' | 'sha'.
-type crypto_integer() :: binary() | integer().
@@ -415,6 +415,13 @@ rand_uniform(From,To) when is_binary(From), is_binary(To) ->
Whatever
end;
rand_uniform(From,To) when is_integer(From),is_integer(To) ->
+ if From < 0 ->
+ rand_uniform_pos(0, To - From) + From;
+ true ->
+ rand_uniform_pos(From, To)
+ end.
+
+rand_uniform_pos(From,To) when From < To ->
BinFrom = mpint(From),
BinTo = mpint(To),
case rand_uniform(BinFrom, BinTo) of
@@ -422,7 +429,9 @@ rand_uniform(From,To) when is_integer(From),is_integer(To) ->
erlint(Result);
Other ->
Other
- end.
+ end;
+rand_uniform_pos(_,_) ->
+ error(badarg).
rand_uniform_nif(_From,_To) -> ?nif_stub.