美团外卖json接口data数据解密

前端都需要 CryptoJS

require代码

define("module/aesCrypto", [],
function(e) {
  const t = "240789B06A4D4FAG",
  n = "1513D520B9C1459C",
  r = "sxaa1k89dc";
  return {
    validate: function(e) {
      var t = this;
      if (e.length < 32) return ! 1;
      var n = e.slice(0, 32),
      r = e.slice(32),
      i = this.decrypto(r);
      return i
    },
    decrypto: function(e) {
      var r = CryptoJS.enc.Utf8.parse(t),
      i = CryptoJS.enc.Utf8.parse(n),
      s = CryptoJS.AES.decrypt(e, r, {
        iv: i,
        mode: CryptoJS.mode.CBC
      }),
      o = CryptoJS.enc.Utf8.stringify(s).toString();
      try {
        location.href.indexOf("debug") > -1 && console.log(JSON.parse(o || "{}"))
      } catch(u) {}
      return o
    }
  }
});
require(["module/aesCrypto"],function(l) {
	var data = 'BE913098F7F0168092A1CB0FE0D2234F0HFzT4iW96PEYHXp6B%2FqtuE8gwfQK5a74nCajEuHXiZdB%2Fv7Ysoe%2BVlNw7U7FhvfmBvPvvjVAwKoRxx2yuKhj0%2BwC0EBUmV0gYweUChgmHuEivna4hIhFCoEqYOyI5BqGklzGN7IYURxX9UxMsADLVKnSKvCmBe8xgC0cFVqz1K4QQMd2aL4e7HsIXiOLpCGXQ27sRT5wrNsAQy16pp0%2FASfurCeNJXCKZP%2BEGKggieZhTl0oY6S8a5V5n3dBXLvrI6PgyRgN7I9DehWJZJ0uVOTXei1d3nAiuHIAmz45TvmFnn7TG63s%2Bta3cARuPViJvXzTpC1q3pMAS1Bd9D6UOJCfEVzmfSd1AE124r979WhZAFXGqtzh%2B%2FNRei7t3tT5aT36oFXYpi81x8zi1XCD7FNAZoqDQ6s8Bor3yo%2FkPuWtMZIgQHx4Iy3vU9GvMZG%2FSC2UNSIufzL75Gmm6vAcMmPNwkgG3025TQwjmwHVCFuPCWL3xhzg%2BAVP5%2FKKJH%2BF8vLt2AIOQdQmxuYgPfhNcAQQ7sft7ug0CCtlMbjuw1T6XaOQE0Qu8ZmunR5HTCOzTIUlvDyKdSQT5Vo%2FXlOdfOX2BIW9DwtoAzvfZ5FaCJxNoxqkSjR37M9itsBs0LB7Iv1QeSfZXX8B3cgnDgf0tag86VFddoZ5Jgh%2FN5qHivKWkrF031i9WsN60X156RHqVXzBptLOfJokIvqkQdnDfn1Zva7Pa417MyfYMt%2B2ZY7LZGJtNX%2BPrNcSy6cfCc35e8d2UEP%2BIjP7Xuvs1W0W04RDAueie3IZp%2Fe5F%2FWdEmfcmtNFr%2Bz0pTrwBF8cy0hypP41%2BGJDs5EuMl12XnzgJCN9Tz6CSctQJHC78JkTE%2FogSkTUhMg3oG6ZjjoYi3%2FAOMPqWJMhImgXBOx5llOJurUk4lAVQ0yXSkyL97QWLeS2Sfs%2BD7Fkr2%2BiT2CibiGJSHAtK4BsODl4lfG0tSOUWSVQgTmdxABUhfotDfECnEWU139Ak5TrjmP5uDDNYqckKWxajXHPt4zyYuLPTAa5zX2fnogKNONDzACG%2BMmRgwG9DnadKaNBuLsjYAc3JCCyhozZV7RCj69QkB2gwS9EQ1giBySN%2Fv3hwKbeeaxRoHDAS6NzTz7qLaU%2FHaK7GgRdnBztEeaaK1yHCDLa7VuklrWvbtmvyXEIiPwsgodXlojNhGz2HV3FEuIAMhWYK7A0b%2Br1ffv%2BmyvVsoIflVII0zcndZ3bxveUOmnrCobAUGThH52WBUXHHxK07JLZAkSEBST4WgSaQUG5uTOvynPTdNXuN20h9739lXlv%2FWubGMIif8dxcnxnHBpR5p0vdC28Sn9zbusHXTtAXirRjopSjFzWAslwHxV%2FrXG%2FLbKJhzDl8%2BCJ0zgDFXn%2Fri5GBopwY8281X9KGS2q4vJKym3mB59SZn4Ne5ig9MqkfPzjL3r1LQrMeXTKQBONymGyAgtNoQMgvqTnIXdScl1Hs%2F6nimLrjnDGsB2Z0tRYpgotcZYqFvWCy4M8EReHPRkV9POgv%2BqhoYVMlN%2FPs8OV24TQbY0%2B7JnuJXqv1RquzNSub4%3D';
	data = decodeURIComponent(data),
	data = JSON.parse(l.validate(data) || "{}")
	console.log(data);
});

本来准备用php解密,但解密出来是串乱码 很奇怪,望高人指点

php代码如下:

<?php
$data = "7C1AD78D953258A6A8D2F5585C4BD5A8v17aeCeXo%2FoVLc9kar1ci6o4YnBD7iPOhRjZnL9sDoYilDdnIdGIK5d%2BO0hS0K%2F8jPdvzdAGvSYFdnesc4rMLmaQ0YP603vRId4%2BpvO06ljkpFwIrG1CIQZReZZlIVW79tN1TpplUPBvaC%2F%2BxPc1Qcqwsxv72G59bQPI1eaH1GMOAR1euEBirZ0YWTK%2FenUggh%2B1WbSJ7Tz%2FV3%2BjE7F827anXvMl52XeW07bEI2a31oDnJPKo5t0%2FdGHB0t%2FjXA6yHxcWHZEGHEQ2Terps3K0%2FcUjg1hNDQEqlLTihs0PunL%2Fk%2B9sy1tmiLuc%2F7sRYAzqdMmsSxq5H25td6yN%2FfwwJkgpRSHrpFo77zHzVUB9ToAnmsiAwXkKjkv%2FQMKX6wLeYfx0%2B5mWoMgV4MHQDk7K8gL2P9XiCsPc%2BM6S9hPwvwfVNhxe4RuuReTWsA5q%2Fq0o8u9Qxi1NiR12s%2FoUMWwOW9D78yVpibVlMcaPL4aPu3IdvOdRWrRWTl%2BmBbROy3PZDzhPTol2Ql8AmkjMqVdi9smzb15v9VlT6Zch0%2BmWX0euwh2QZR5qm86Gj3vaVxTEOlFGhmFsBjD03a8687wvSPdS9DwfxsBX%2BvbAZhGbQHCGxCly%2F1KOly%2FTtCgUG5DHucLK2R64xvGiPcBhENeSEEEQrGkf0y35fr8Oc9tW73WHmfb0F97uSP2xDt%2FQWoog%2FwQfamG3SrPw9wViokpvyaHMNPsTujg%2FJmVSDo17Ni8pT3Gfr8r47quwn7GU3d8qJf4n%2BZTFlyA7qB3oTgLHmSEE%2FhW8OCbIlNqlGyj2cgJLCuvXWn0Bp9yB1W%2BII5KyslLM8sDsvqzmvVli%2B7G4ww6KFnPNI9vmZrNoqQ2XWhJBpro%2F%2BL6RL0OTzHaoPPcZuyjrFOW2qQ2OJzFO5u%2Bgr%2FSrP%2FChu4znLqu6WYKatAi3OulsG3CPH2CTBRjE1S4zS6ux0GBWY%2BhwAZaZDV%2BZjr%2FIKwGiw1HavYbXAWicRrym8XuxetE4wH7m0KealNURWavmh%2FufZ%2FzRRp9e%2Fkt3brBnAGkHNI9nwEnq54%2B8%2FKxH8uVQHSzvCIcL6WiXBGT9S3p2XlZOnQhg2bP3EFCDeBvuDWsxstIUaZuNWgtyCWwzvRJB73W2unii9xjVY6u9iFuRn8u%2FXfZbpi2cQHY9z3SrYST2u%2BU%2B64mPOM82jNny7DviUJHglMA84D6uiS%2FRzP6wZgMuLLaEhwtEqH7KjYILcuOGENBnPzw635jcQiuBelKCm9WYZ6s%2FPl0rAXOA0irvcti5r7iERl5PqpkB3Vixnz7DbihjOV9k31cFnhIeVXMzgqGR29%2BKG05ydX%2FqEWOO%2FKwMrljoqIe3LdYYr%2BvQT3FIL%2FsHiIhmovPEzxR1AoPngN6tmPiG6Lq2j2%2B03gu4HNZoSQ3pvsa9qp%2BoCyEv5oILxfWd%2FDTI11aQJ1KzgwTh9p0P2Rcowe1JrSaFfhfMRG0hecxuhW5nsnBIi6Xxh6F9Pcipl5HT7bx9D1pFUVr3vrS9E0Hwqtu2AHZRYKDUoq3WgwRdUkAsKi5qIGWNK%2BY8g7AwRqf9ughqEByk2PK4gJ0Axfu80aR8MY6r6nWYmSJIO9Q6d1fLyXNDDfx3kjbTVG3%2F0iTdCRcFsv7wy8rPjNln6x8fI9K2dPotj1%2BaR3QMe2dPpAZlp%2FlHRGbPohpo0ayk1b%2Fte60ICnc9zTCG5L5OFmHU5jX5Aov%2Fd0ishAwoMPavI1LbDJpZ9VxrNVr9tHyx%2FjAa%2B58oWdXA7kTbWrQ3amFg7ZEb3S%2BEGbgV230Omi48wPAkyQoxoE4kOVcckaEn9WWWn0EMGcs4rEWnL12q8SwWxC3nD%2BBEhJKHr8Z328b7f7iqmK6UTPSX2N3SX1xVHtEBWHKIEVSXl9tDgbM9coXFPL6IN1NNCSKDFiiH2jwW78UjNoB1xxmYG%2B5Q0W6XCxROmDLuqXBwR1STSsPKVa42UC7lWbv1Z%2F%2BGb%2BvxVhOYjTVR%2BCOoKkD%2FdrW6%2FmwoEPI8Iqzb8Bk4zSPAHG90SFnKrZfRg1wK9HiNGqQeb1H8wD1MjCItgG%2Bk%2FdksXVgi6ZLUWBrP0H%2BTlyamOXOLLuwrV%2Fhl2rS%2FcNDpLioYWDBqhi770Ghqxk6lA2lc3JPzVE8HybiK7Wgcw042Ifp9RVVOUdSZZ3ffbgCkAeAJQyyFasP90hGQavq2%2FKQEQefFGW22p%2FosgMhrPP6ciFiys%2Blf1I51SRTuf7SIkk8JQSSh86Rk6Z3vQ4gNuYlmKuEUPilvkOiuV7F5AuqoNFuzUGBuOcReWNctx1ErT8z6%2FYg7Bcbf%2FqCMrPJkNhYsfQogPNQ26%2BnOCjW76uIhyTtOpH3Pz98uGUweGgaE%2FMB80%2BFo3Y86Qu2a4ssqkciQzQZVECHrpv8bLYUYZdwJ7tMUJNJdPi4GFEBMDpqIC%2FOUbzd3CJrP2ARqPFzGN8lydWrQYVN9P03fDnMhWSjBoG%2FFYZ0V53KucyZ%2BxKhMLMy1FhixmQC7Qytfh7xgCp7ErOhM9%2FzPthwCAzeXb65Pp%2BKWpa5zMPq0u8sMRqqzZ3gV0po4F89%2FI71bolVJWdx7EJdPPgex4fWHC7xrdUkm%2FcZKsX9Ur5n%2FiyUqDWsgvQP%2Bdt3aphs2ciXIGOmatg0mmGJWWAGk2hPmRV01EtyuTf6rnvt1b0KRsKwLonXDsjSHi6oWET4yKiyvtpBeMRZyoknORt4aHNdqe2nX9jz7ZjrO2NPDsteRRH2Jfqo6HomMhz%2F09j%2BX9R1qLn57L7U8%2BMsGevqIyBhGr%2BGF1Wagseo6b21WLUN6Rvb24K07UhuUGp9IEYmJk92acy0Jx%2FxXTsxtedyI0I6uerX6Q36OnM529euS0%2FLZAysi7beKXLgQ2HOLTrGcA1400in%2B714XxkKLGwNtiG97psEHGAy0AweYPho4xNSIr0iK9kXd9Uhr5ntXYBlydTbdIFqscTQsvrVYRLrK4ivF%2FPXYk2aPWDhJOmvFMse1%2F%2FHgjjsI%2FanLgAuJ87rMT3VgIM6k9fBV0RJ3g%2FQnddmXGH8ConVEyJG4UsOkpKDI6JyCDNCi6TLtuy%2B7jPkJZ5UlpVrAjQdcn8gHdLVllfd3WHJoBC8O2oxOK1rFBml%2Fy8l9wwKBmDxjYgOf18%2BAbUqfC5nFu5TMf26UwLzke0li88gBo48LlUJWEziBVXB7HRHRlsp1B51apzSgyeGDC2h7OZq9sZRRkHvX6B7kY%2FastQoDvaEiYJ9KlRMahAPebs%2FEEPS9irsE6CXyYGSaPNQiGOmcYJTrINEJnEIxWO7fc3BAcdzt4ACUYZ5c9%2BfBiktmf0jcKSdC8KvhRIthPMk9H2gHvNG5Cl3bIJ%2BlJIBHNMhBJ3IAbU9%2FF3rtIFQIGTwdaJGl%2BwGLRhmbyr0lwrpyExQeEINmiEOguemtcRSPm6xlLLZIH9gxFY7uqks4CCjJ7Bxd0zeCxHOXy30D2KZKH8oz1s2o2LrqR%2Fd7PXqKms%3D";
$data = urldecode($data);
$ase = new aesCrypto();
$str = $ase->validate($data);
echo $str;

class aesCrypto
{
    //private $t = "240789B06A4D4FAG";
    private $iv = "1513D520B9C1459C";
    private $key = "sxaa1k89dc";

    public function validate($e){
        if(strlen($e) < 32){ return 0;}
        //$n = substr($e, 0, 32);
        $r = substr($e, 32);
        $i = $this->decrypto($r);
        return  $i;
    }
    public  function decrypto($e){
        //$this->key = pack('H*', $this->key);
        //$this->iv = pack('H*', $this->iv);
        $e = base64_decode($e);
        $s = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $this->key, $e, MCRYPT_MODE_CBC, $this->iv);
        $s = rtrim($s,"\t\0");
        return $s;
    }
    public  function encrypted($e){
        $s = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $this->key, $e, MCRYPT_MODE_CBC, $this->iv);
        return base64_encode($s);
    }
}
?>

 

转载于:https://my.oschina.net/Customs/blog/1505673

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值