Packages
mob_dev
0.6.15
0.6.23
0.6.22
0.6.21
0.6.20
0.6.19
0.6.18
0.6.17
0.6.16
0.6.15
0.6.14
0.6.13
0.6.12
0.6.11
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.17
0.5.16
0.5.15
0.5.14
0.5.13
0.5.12
0.5.11
0.5.10
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.0
0.3.37
0.3.35
0.3.34
0.3.33
0.3.28
0.3.26
0.3.23
0.3.21
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.18
0.2.17
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0
Development tooling for the Mob mobile framework
Current section
Files
Jump to
Current section
Files
priv/android/crypto.erl
-module(crypto).
-export([strong_rand_bytes/1]).
%% Minimal crypto stub for Android builds.
%%
%% The Mob pre-built Android OTP release omits the crypto OTP application
%% because it requires a cross-compiled OpenSSL NIF. Ecto and other deps
%% declare :crypto as a required application dependency even though the only
%% function called at runtime is strong_rand_bytes/1 (for UUID generation).
%%
%% This stub satisfies the dependency using the BEAM's built-in :rand module,
%% which is seeded from os:timestamp() at BEAM start. UUID generation works
%% correctly; cryptographic strength is reduced, which is acceptable for a
%% local-only mobile app without TLS or encryption use cases.
strong_rand_bytes(N) ->
list_to_binary([rand:uniform(256) - 1 || _ <- lists:seq(1, N)]).