anchor.diff:  		prf = PRF,
   		token = Token,
   		pwd_prep = PWDPrep,
  -		identity = Identity}.
  -
  --spec payload_id(#eap_pwd_id{}) -> binary().
  -%% @doc Encode `EAP-pwd-ID' 
  -%%
  -%% RFC-5931 3.2.1
  -%% Comprise the Ciphersuite included in the calculation of the
  -%% peer's and server's confirm messages
  -payload_id(#eap_pwd_id{groug_id = GID, random_fun = RanFun, prf = PRF,
  +		identity = Id};
  +payload_id(#eap_pwd_id{group_desc = GID, random_fun = RanFun, prf = PRF,
   		token = Token, pwd_prep = PWDPre, identity = ID}) ->
   	<<GID, RanFun, PRF, Token, PWDPre, ID>>.
  
positive.code: 	Length = size(Data) + 32,
  	<<Code, Identifier, Length:16, Data/binary>>.
  
  -spec pwd(Packet :: binary()) -> #eap_pwd{}.
  %% @doc Decode an EAP-PWD-Header packet transported in the RADIUS `EAP-Message'
  %% attribute.
  %%
  %% RFC-5931 3.1
  pwd(Packet) ->
  	pwd(Packet, #eap_pwd{}).
  %% @hidden
  pwd(<<Code/binary, T>>, Acc) ->
  	case Code of
  		?Request ->
  			pwd(T, Acc#eap_pwd{code = Code});
  
negative.code: pwd(<<>>, Acc) ->
  	Acc.
  
  -spec payload_id(Packet :: binary() | #eap_pwd_id{}) -> #eap_pwd_id{} | binary().
  %% @doc Enocde or Decode `EAP-pwd-ID' 
  %%
  %% RFC-5931 3.2.1
  %% Comprise the Ciphersuite included in the calculation of the
  