美文网首页
微信小程序MD5验签 + Emoji过滤 - MD5 Sign

微信小程序MD5验签 + Emoji过滤 - MD5 Sign

作者: YichengYe | 来源:发表于2018-06-23 01:52 被阅读0次
{
  isEmojiCharacter: function (codePoint) {
    return (codePoint == 0x0) || (codePoint == 0x9) || (codePoint == 0xA)
      || (codePoint === 0xD)
      || ((codePoint >= 0x20) && (codePoint <= 0xD7FF))
      || ((codePoint >= 0xE000) && (codePoint <= 0xFFFD))
      || ((codePoint >= 0x10000) && (codePoint <= 0x10FFFF)) 
      || /([\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2694-\u2697]|\uD83E[\uDD10-\uDD5D])/g.test(codePoint)
  },
  filterEmoji: function (source) {
    var that = this;
    if (!source) {
      return source;
    }
    var len = source.length;
    let i = 0, buf = "";
    {
      for (; i < len; i++) {
        var codePoint = source.charCodeAt(i);

        if (that.isEmojiCharacter(codePoint)) {
          buf += source.charAt(i);
        }
      }
      if (!buf) {
        return "";
      } else {
        if (buf.length === len) {
          buf = "";
          return source;
        } else {
          return buf;
        }
      }
    }
  },
  encode: function (data, emoji_enabled) {
    var that = this;
    if (!data) {
      return {};
    } else {
      var data_obj = data
      var keys = Object.keys(data_obj).sort();
      var param_str = "";
      var data_processed = {};
      for (var i = 0; i < keys.length; i++) {
        if (!keys[i] || !data_obj[keys[i]]) {
          continue;
        }
        data_processed[keys[i]] = data_obj[keys[i]];
        if (emoji_enabled) {
          if (that.filterEmoji(data_obj[keys[i]] + "").trim()) {
            param_str += keys[i] + "=" + that.filterEmoji(data_obj[keys[i]] + "") + "&";
          }
        } else {
          param_str += keys[i] + "=" + data_obj[keys[i]] + "&";
        }
      }
      var key_ = "************************";
      param_str += "key=" + key_;
      var sign = enc.md5(param_str).toUpperCase();
      data_processed["sign"] = sign;
      return data_processed;
    }
  },
}

相关文章

网友评论

      本文标题:微信小程序MD5验签 + Emoji过滤 - MD5 Sign

      本文链接:https://www.haomeiwen.com/subject/gitryftx.html