Language Fingerprint
Description: This function fingerprints the languagues that the client's browser is set to by utilizing the navigator.language, navigator.browserLanguage, navigator.systemLanguage and navigator.userLanguage objects.
Issues: None.
Returns: the browser, system and user langaguge
Entropy: ~10.0 bits
Output for your computer is:
function fingerprint_language() { "use strict"; var strSep, strPair, strOnError, strLang, strTypeLng, strTypeBrLng, strTypeSysLng, strTypeUsrLng, strOut; strSep = "|"; strPair = "="; strOnError = "Error"; strLang = null; strTypeLng = null; strTypeBrLng = null; strTypeSysLng = null; strTypeUsrLng = null; strOut = null; try { strTypeLng = typeof (navigator.language); strTypeBrLng = typeof (navigator.browserLanguage); strTypeSysLng = typeof (navigator.systemLanguage); strTypeUsrLng = typeof (navigator.userLanguage); if (strTypeLng !== "undefined") { strLang = "lang" + strPair + navigator.language + strSep; } else if (strTypeBrLng !== "undefined") { strLang = "lang" + strPair + navigator.browserLanguage + strSep; } else { strLang = "lang" + strPair + strSep; } if (strTypeSysLng !== "undefined") { strLang += "syslang" + strPair + navigator.systemLanguage + strSep; } else { strLang += "syslang" + strPair + strSep; } if (strTypeUsrLng !== "undefined") { strLang += "userlang" + strPair + navigator.userLanguage; } else { strLang += "userlang" + strPair; } strOut = strLang; return strOut; } catch (err) { return strOnError; } }