get uuid

1、 string:strip(os:cmd("uuidgen"), right, $\n).

 

2、 

 49 %% Give a uniq identifier 

 50 uniqid() ->                                                                                                                                       

 51     {T1, T2, T3} = now(), 

 52     lists:flatten(io_lib:fwrite("~.16B~.16B~.16B", [T1, T2, T3])). 

 53    

 

 

3、

220 get_guid() ->                                                                                                       

221     TimeSpan = calendar:datetime_to_gregorian_seconds(calendar:local_time()) - 63113904000,

222     {X, Y, Z} = erlang:now(),

223     MicroSecs = Z,

224     random:seed(X, Y, Z),

225     Random = random:uniform(99),     

226     List = lists:flatten(io_lib:format("~6..0w~9..0w~2..0w",[MicroSecs, TimeSpan, Random])),

227    % list_to_binary(string:to_lower(erlang:integer_to_list(erlang:list_to_integer(List), 36))).

228     string:to_lower(erlang:integer_to_list(erlang:list_to_integer(List), 36)).

 
 
 
 79 generate_session_id() ->
 80     Data = crypto:rand_bytes(2048),
 81     Sha_list = binary_to_list(crypto:sha(Data)),
 82     lists:flatten(list_to_hex(Sha_list)).
 83 %% Convert Integer from the SHA to Hex
 84 list_to_hex(L)->
 85        lists:map(fun(X) -> int_to_hex(X) end, L).
 86  
 87 int_to_hex(N) when N < 256 -> 
 88        [hex(N div 16), hex(N rem 16)].
 89  
 90 hex(N) when N < 10 ->
 91        $0+N;
 92 hex(N) when N >= 10, N < 16 ->
 93        $a + (N-10).            

你可能感兴趣的:(uuid)