WhatsAppApi.WhatsApp.authenticate C# (CSharp) Метод

authenticate() защищенный Метод

protected authenticate ( string nonce ) : string
nonce string
Результат string
        protected string authenticate(string nonce)
        {
            string NC = "00000001";
            string qop = "auth";
            string cnonce = Func.random_uuid();
            string data1 = this.phoneNumber;
            data1 += ":";
            data1 += WhatsConstants.WhatsAppServer;
            data1 += ":";
            data1 += this.encryptPassword(); //this.EncryptPassword();

            string data2 = Func.HexString2Ascii(md5(data1));
            data2 += ":";
            data2 += nonce;
            data2 += ":";
            data2 += cnonce;

            string data3 = "AUTHENTICATE:";
            data3 += WhatsConstants.WhatsAppDigest;

            string data4 = md5(data2);
            data4 += ":";
            data4 += nonce;
            data4 += ":";
            data4 += NC;
            data4 += ":";
            data4 += cnonce;
            data4 += ":";
            data4 += qop;
            data4 += ":";
            data4 += md5(data3);

            string data5 = md5(data4);
            string response =
                string.Format(
                    "username=\"{0}\",realm=\"{1}\",nonce=\"{2}\",cnonce=\"{3}\",nc={4},qop={5},digest-uri=\"{6}\",response={7},charset=ISO-8859-1",
                    this.phoneNumber,
                    WhatsConstants.WhatsAppRealm,
                    nonce,
                    cnonce,
                    NC,
                    qop,
                    WhatsConstants.WhatsAppDigest,
                    data5);
            return response;
        }