欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

get uuid

程序员文章站 2022-07-15 22:50:30
...

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).