• Instructions to Ask a Question

    Click on the "Ask a Question" button and select the application for which you would like to ask questions.

    We have 5 different products namely - Pabbly Connect, Pabbly Subscription Billing, Pabbly Email Marketing, Pabbly Form Builder, Pabbly Email Verification.

    The turnaround time is 24 hrs (Business Hours - 10.00 AM to 6.00 PM IST, Except Saturday and Sunday). So your kind patience will be highly appreciated!

    🚀🚀Exclusive Discount Offer

    Just in case you're looking for any ongoing offers on Pabbly, you can check the one-time offers listed below. You just need to pay once and use the application forever -
     

    🔥 Pabbly Connect One Time Plan for $249 (🏆Lifetime Access) -  View offer 

    🔥 Pabbly Subscription Billing One Time Plan for $249 (🏆Lifetime Access) - View offer

Javascript MD5 function. Works in Zapier - not in Pabbly?

karl_sws

Member
Any Pabbly/Java experts know why this is returning "SyntaxError: Unexpected number" in Pabbly? I'm attempting to duplicate existing (functioning) code from Zapier to Pabbly. The code snippet below executes perfectly fine in a Run Javascript in Code by Zapier Action.

JavaScript:
//Function to generate an MD5 hash value of the supplied string.

var MD5 = function(s) {

    function L(k, d) {

        return (k << d) | (k >>> (32 - d))

    }


    function K(G, k) {

        var I, d, F, H, x;

        F = (G & 2147483648);

        H = (k & 2147483648);

        I = (G & 1073741824);

        d = (k & 1073741824);

        x = (G & 1073741823) + (k & 1073741823);

        if (I & d) {

            return (x ^ 2147483648 ^ F ^ H)

        }

        if (I | d) {

            if (x & 1073741824) {

                return (x ^ 3221225472 ^ F ^ H)

            } else {

                return (x ^ 1073741824 ^ F ^ H)

            }

        } else {

            return (x ^ F ^ H)

        }

    }


    function r(d, F, k) {

        return (d & F) | ((~d) & k)

    }


    function q(d, F, k) {

        return (d & k) | (F & (~k))

    }


    function p(d, F, k) {

        return (d ^ F ^ k)

    }


    function n(d, F, k) {

        return (F ^ (d | (~k)))

    }


    function u(G, F, aa, Z, k, H, I) {

        G = K(G, K(K(r(F, aa, Z), k), I));

        return K(L(G, H), F)

    }


    function f(G, F, aa, Z, k, H, I) {

        G = K(G, K(K(q(F, aa, Z), k), I));

        return K(L(G, H), F)

    }


    function D(G, F, aa, Z, k, H, I) {

        G = K(G, K(K(p(F, aa, Z), k), I));

        return K(L(G, H), F)

    }


    function t(G, F, aa, Z, k, H, I) {

        G = K(G, K(K(n(F, aa, Z), k), I));

        return K(L(G, H), F)

    }


    function e(G) {

        var Z;

        var F = G.length;

        var x = F + 8;

        var k = (x - (x % 64)) / 64;

        var I = (k + 1) * 16;

        var aa = Array(I - 1);

        var d = 0;

        var H = 0;

        while (H < F) {

            Z = (H - (H % 4)) / 4;

            d = (H % 4) * 8;

            aa[Z] = (aa[Z] | (G.charCodeAt(H) << d));

            H++

        }

        Z = (H - (H % 4)) / 4;

        d = (H % 4) * 8;

        aa[Z] = aa[Z] | (128 << d);

        aa[I - 2] = F << 3;

        aa[I - 1] = F >>> 29;

        return aa

    }


    function B(x) {

        var k = "",

            F = "",

            G, d;

        for (d = 0; d <= 3; d++) {

            G = (x >>> (d * 8)) & 255;

            F = "0" + G.toString(16);

            k = k + F.substr(F.length - 2, 2)

        }

        return k

    }


    function J(k) {

        //k = k.replace(/rn/g, "n");

        var d = "";

        for (var F = 0; F < k.length; F++) {

            var x = k.charCodeAt(F);

            if (x < 128) {

                d += String.fromCharCode(x)

            } else {

                if ((x > 127) && (x < 2048)) {

                    d += String.fromCharCode((x >> 6) | 192);

                    d += String.fromCharCode((x & 63) | 128)

                } else {

                    d += String.fromCharCode((x >> 12) | 224);

                    d += String.fromCharCode(((x >> 6) & 63) | 128);

                    d += String.fromCharCode((x & 63) | 128)

                }

            }

        }

        return d

    }

    var C = Array();

    var P, h, E, v, g, Y, X, W, V;

    var S = 7,

        Q = 12,

        N = 17,

        M = 22;

    var A = 5,

        z = 9,

        y = 14,

        w = 20;

    var o = 4,

        m = 11,

        l = 16,

        j = 23;

    var U = 6,

        T = 10,

        R = 15,

        O = 21;

    s = J(s);

    C = e(s);

    Y = 1732584193;

    X = 4023233417;

    W = 2562383102;

    V = 271733878;

    for (P = 0; P < C.length; P += 16) {

        h = Y;

        E = X;

        v = W;

        g = V;

        Y = u(Y, X, W, V, C[P + 0], S, 3614090360);

        V = u(V, Y, X, W, C[P + 1], Q, 3905402710);

        W = u(W, V, Y, X, C[P + 2], N, 606105819);

        X = u(X, W, V, Y, C[P + 3], M, 3250441966);

        Y = u(Y, X, W, V, C[P + 4], S, 4118548399);

        V = u(V, Y, X, W, C[P + 5], Q, 1200080426);

        W = u(W, V, Y, X, C[P + 6], N, 2821735955);

        X = u(X, W, V, Y, C[P + 7], M, 4249261313);

        Y = u(Y, X, W, V, C[P + 8], S, 1770035416);

        V = u(V, Y, X, W, C[P + 9], Q, 2336552879);

        W = u(W, V, Y, X, C[P + 10], N, 4294925233);

        X = u(X, W, V, Y, C[P + 11], M, 2304563134);

        Y = u(Y, X, W, V, C[P + 12], S, 1804603682);

        V = u(V, Y, X, W, C[P + 13], Q, 4254626195);

        W = u(W, V, Y, X, C[P + 14], N, 2792965006);

        X = u(X, W, V, Y, C[P + 15], M, 1236535329);

        Y = f(Y, X, W, V, C[P + 1], A, 4129170786);

        V = f(V, Y, X, W, C[P + 6], z, 3225465664);

        W = f(W, V, Y, X, C[P + 11], y, 643717713);

        X = f(X, W, V, Y, C[P + 0], w, 3921069994);

        Y = f(Y, X, W, V, C[P + 5], A, 3593408605);

        V = f(V, Y, X, W, C[P + 10], z, 38016083);

        W = f(W, V, Y, X, C[P + 15], y, 3634488961);

        X = f(X, W, V, Y, C[P + 4], w, 3889429448);

        Y = f(Y, X, W, V, C[P + 9], A, 568446438);

        V = f(V, Y, X, W, C[P + 14], z, 3275163606);

        W = f(W, V, Y, X, C[P + 3], y, 4107603335);

        X = f(X, W, V, Y, C[P + 8], w, 1163531501);

        Y = f(Y, X, W, V, C[P + 13], A, 2850285829);

        V = f(V, Y, X, W, C[P + 2], z, 4243563512);

        W = f(W, V, Y, X, C[P + 7], y, 1735328473);

        X = f(X, W, V, Y, C[P + 12], w, 2368359562);

        Y = D(Y, X, W, V, C[P + 5], o, 4294588738);

        V = D(V, Y, X, W, C[P + 8], m, 2272392833);

        W = D(W, V, Y, X, C[P + 11], l, 1839030562);

        X = D(X, W, V, Y, C[P + 14], j, 4259657740);

        Y = D(Y, X, W, V, C[P + 1], o, 2763975236);

        V = D(V, Y, X, W, C[P + 4], m, 1272893353);

        W = D(W, V, Y, X, C[P + 7], l, 4139469664);

        X = D(X, W, V, Y, C[P + 10], j, 3200236656);

        Y = D(Y, X, W, V, C[P + 13], o, 681279174);

        V = D(V, Y, X, W, C[P + 0], m, 3936430074);

        W = D(W, V, Y, X, C[P + 3], l, 3572445317);

        X = D(X, W, V, Y, C[P + 6], j, 76029189);

        Y = D(Y, X, W, V, C[P + 9], o, 3654602809);

        V = D(V, Y, X, W, C[P + 12], m, 3873151461);

        W = D(W, V, Y, X, C[P + 15], l, 530742520);

        X = D(X, W, V, Y, C[P + 2], j, 3299628645);

        Y = t(Y, X, W, V, C[P + 0], U, 4096336452);

        V = t(V, Y, X, W, C[P + 7], T, 1126891415);

        W = t(W, V, Y, X, C[P + 14], R, 2878612391);

        X = t(X, W, V, Y, C[P + 5], O, 4237533241);

        Y = t(Y, X, W, V, C[P + 12], U, 1700485571);

        V = t(V, Y, X, W, C[P + 3], T, 2399980690);

        W = t(W, V, Y, X, C[P + 10], R, 4293915773);

        X = t(X, W, V, Y, C[P + 1], O, 2240044497);

        Y = t(Y, X, W, V, C[P + 8], U, 1873313359);

        V = t(V, Y, X, W, C[P + 15], T, 4264355552);

        W = t(W, V, Y, X, C[P + 6], R, 2734768916);

        X = t(X, W, V, Y, C[P + 13], O, 1309151649);

        Y = t(Y, X, W, V, C[P + 4], U, 4149444226);

        V = t(V, Y, X, W, C[P + 11], T, 3174756917);

        W = t(W, V, Y, X, C[P + 2], R, 718787259);

        X = t(X, W, V, Y, C[P + 9], O, 3951481745);

        Y = K(Y, h);

        X = K(X, E);

        W = K(W, v);

        V = K(V, g)

    }

    var i = B(Y) + B(X) + B(W) + B(V);

    return i.toLowerCase()

};

output = {id: 1, hello: "world"};
 

Pabbly

Administrator
Staff member
You should use the inbuilt library Crypto.JS as shown below. You can even use other hashing functions too -

var stringToHash = "abcderf";
const md5Hash = CryptoJS.MD5(stringToHash).toString();
output =md5Hash;

1687848089004.png
 
Top