code: protected function generatePasswordDigest($password, $creationString, $messageNonce)
      {
          return base64_encode(sha1($messageNonce . $creationString . sha1($password, true), true));
      }
docs: Generates a Password Digest following this algorithm:
  HashedPassword = Base64(SHA-1( nonce + created + SHA-1 ( password )))
  as defined in
  https://webservices.amadeus.com/extranet/kdbViewDocument.do?externalId=wikidoc_web_services_embedded_security_implementation_guide_header_entries_ws-security_usernametoken&docStatus=Published&mpId=fla__1__technical
  
  EXAMPLE: with:
  Nonce in Base 64 = 'PZgFvh5439plJpKpIyf5ucmXhNU='
  Timestamp = '2013-01-11T09:41:03Z'
  Clear Password = 'WBSPassword'
  The digest algorithm returns the Encrypted Password in Base 64:
  HshPwd = 'ic3AOJElVpvkz9ZBKd105Siry28='
  
  @param string $password CLEARTEXT password (NOT the base64 encoded password used in Security_Authenticate)
  @param string $creationString message creation datetime
  UTC Format: yyyy-mm-ddTHH:MM:SSZ or yyyy-mm-ddTHH:MM:SS.sssZ
  @param string $messageNonce Random unique string
  @return string The generated Password Digest