anchor.diff:  -spec passwd_fun(User :: string(), PassWd :: string()) ->
       {ok, User :: string()} | {error, Reason :: term()}.
   passwd_fun(User, PassWd) ->
  -    User_ = stringprep:prepare(User),
  +    User_ = stringprep:prepare(User, saslprep),
       case mnesia:read(pundun_user, User_) of
   	[R] ->
  -	    PassWd_ = stringprep:prepare(PassWd),
  +	    PassWd_ = stringprep:prepare(PassWd, saslprep),
   	    Salt = get_salt(16),
   	    IterCount = R#pundun_user.iteration_count,
   	    SaltedPassword = scramerl_lib:hi(PassWd_, Salt, IterCount),
  
positive.code: -spec add_user_fun(User :: string(), PassWd :: string()) ->
      {ok, User :: string()} | {error, Reason :: term()}.
  add_user_fun(User, PassWd) ->
      User_ = stringprep:prepare(User),
      case mnesia:read(pundun_user, User_) of
  	[] ->
  	    PassWd_ = stringprep:prepare(PassWd),
  	    Salt = get_salt(16),
  	    IterCount = 4096,
  	    SaltedPassword = scramerl_lib:hi(PassWd_, Salt, IterCount),
  
negative.code: -spec write_admin_user() -> ok.
  write_admin_user() ->
      Salt = get_salt(16),
      Normalized = stringprep:prepare("admin", saslprep),
      IterCount = 4096,
      SaltedPassword = scramerl_lib:hi(Normalized, Salt, IterCount),
      Record = #pundun_user{username = "admin",
  