anchor.diff:      _ -> {error, "Uknown Email"}
     end.
   
  +doMatchOUKey(OUKey) ->
  +  case qredis:q(["GET", lists:concat(["datasmart:openkey:", OUKey])]) of
  +    {ok, undefined} -> {error, "Uknown Key"};
  +    {ok, Ukey} -> {ok, binary_to_list(Ukey)};
  +    _ -> {error, "Uknown Key"}
  +  end.
  +
  +doMatchAUKey(AUKey) ->
  +  case qredis:q(["GET", lists:concat(["datasmart:acesskey:", AUKey])]) of
  +    {ok, undefined} -> {error, "Uknown Key"};
  +    {ok, Ukey} -> {ok, binary_to_list(Ukey)};
  +    _ -> {error, "Uknown Key"}
  +  end.
  +
   doGetUser(Ukey) ->
     case qredis:q(["GET", lists:concat(["datasmart:users:", Ukey, ":profile"])]) of
       {ok, Result} ->
  
positive.code: -export([start_link/0,
    register/2,
    getukey/1,
    getuser/1,
    encrypt/3,
    dencrypt/3,
  
negative.code: 
  handle_call({getukey, Email}, _From, State) ->
    {reply, doGetukey(Email), State};
  
  handle_call({match_ouKey, OUkey}, _From, State) ->
    {reply, doMatchOUKey(OUkey), State};
  
  handle_call({match_auKey, AUkey}, _From, State) ->
    {reply, doMatchAUKey(AUkey), State};
  
  handle_call({getuser, Ukey}, _From, State) ->
    {reply, doGetUser(Ukey), State};
  