1.0.1 • Published 2 years ago

picasso-canvas-fingerprinting v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Picasso based canvas fingerprinting

Actions Status NPM package

Implementation of a canvas fingerprinting algorithm inspired by the Picasso paper written by Elie Bursztein.

An online demo is available on my blog.

Quick start

You can host your own version of the Picasso canvas fingerprinting script or include it using Jsdelivr CDN.
<script src="https://cdn.jsdelivr.net/npm/picasso-canvas-fingerprinting/src/canvas.js"></script>

Once the Picasso script is loaded in your HTML page, you can use it as follows:

<script>
    const params = {
        area: {
            width: 300,
            height: 300,
        },
        offsetParameter: 2001000001,
        fontSizeFactor: 1.5,
        multiplier: 15000,
        maxShadowBlur: 50,
    };

    // Number of shapes to draw. The higher the more costly it is.
    // Can be used as a way to adjust the aggressiveness of the proof of work (POW)
    const numShapes = 5;
    const initialSeed = Math.floor(100*Math.random());

    const canvasValue = picassoCanvas(
        numShapes, initialSeed, params
    );

    // canvasValue is a hash representing the result of the Picasso challenge, e.g.
    // c24b4a72badc95284b337aa304be1438
</script>