# Browser Fingerprint:Canvas

Canvas is an HTML5 API for drawing 2D images and animations on web pages.

In addition to the above functions, Canvas can also be used as an additional entropy for browser fingerprint recognition. According to a study by Englehardt and Narayanan at Princeton University (2016), more than 5% of websites use Canvas for fingerprint recognition.

To sum up, Canvas realizes fingerprint recognition by commanding the browser to draw a hidden Canvas image. On different machines, this picture will produce slightly different results; But if the machine is the same, the image is the same. After the image is drawn, it is converted into a hash string, which is further used for additional entropy for authentication.

Migratory Bird Browser provides noise simulation for Canvas fingerprint.

When the website requests to read the Canvas function through the browser, the Canvas masking algorithm in noise mode will intercept it halfway and add a random but consistent noise to the read. To better understand how it works, we can think of it as a "speech modifier." When you use a speech modifier with a particular preset, it will change your voice so that it is very different from the original voice, but this change will remain consistent over time.