我无法理解CryptoJS错误的原因?

时间:2019-07-30 20:54:37

标签: javascript php

我为instagram生成user_breadcrumb

这里是使用库运行的示例。 https://jsfiddle.net/VGA_Official/g1zko0h4/1/ 给出错误消息-未捕获的TypeError:b.clamp不是函数

有这样的php代码,我在javascript中更改了它

<?php
function generateUserBreadcrumb($size) {
  $key = 'iN4$aGr0m';
  $date = new DateTime ();

  // typing time
  $term = 3000 + $size * 2000;

  // android EditText change event ouccr count
  $text_change_event_count = $size / 3;
  if ($text_change_event_count == 0)
    $text_change_event_count = 1;

  // generate typing data
  $data = $size . " " . $term . " " . $text_change_event_count . " " . $date->getTimestamp () . "\n";

  // echo $data;
  return base64_encode ( hash_hmac ( "sha256", $data, $key, true ) ) . base64_encode ( $data ) . "\n";
}

print(generateUserBreadcrumb(strlen('test')));

和javascript

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";
}

console.log(generateUserBreadcrumb('test'.length));

结果应该是 p88o7q6XVYf / XPa + 5VOrDNlF6G59xaaOBAbvWELTg + 4 = NCAxMTAwMCAxLjMzMzMzMzMzMzMzMzMzMgMTU2NDUxOTY2OQo =

0 个答案:

没有答案