Javascript HMAC SHA256 (CryptoJS)

by VGA_Official

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/hmac-sha256.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/enc-base64-min.js"></script>
<div id="output"></div>

JavaScript

//var hash = CryptoJS.HmacSHA256("message", "secret");
//var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);
//document.getElementById('output').innerHTML = hashInBase64;


function generateUserBreadcrumb(size) {
  var key = 'iN4$aGr0m';
  
  // typing time
  var term = 3000 + size * 2000;
  
  // android EditText change event ouccr count
  var text_change_event_count = 0;
  // generate typing data
  var data = size+" "+term+" "+text_change_event_count+" "+Math.round(new Date().getTime())+"\n";
  
  // echo $data;
  return CryptoJS.enc.Base64.stringify(CryptoJS.HmacSHA256(data, key).toString())+"\\n"+CryptoJS.enc.Base64.stringify(data)+"\\n";
}

document.getElementById('output').innerHTML = generateUserBreadcrumb('test'.length);