当前位置:   article > 正文

前端请求时加一个密钥的超详细方法_前端get请求参数base64加密怎么生成密钥

前端get请求参数base64加密怎么生成密钥
  1. import axios from 'axios';
  2. import { Base64 } from 'js-base64';
  3. let md5 = require('js-md5');
  4. const access_key = '{access_key}'; // 服务端生成的 access_key
  5. const secret_key = '{secret_key}'; // 服务端生成的 secret_key
  6. const timestamp = Date.parse(new Date()) / 1000; // 取时间戳
  7. const randomStr = (len) => {
  8. let str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  9. let result = "";
  10. while(len) {
  11. let index = Math.floor(Math.random() * str.length);
  12. result += str[index];
  13. --len;
  14. }
  15. return result;
  16. }
  17. const echostr = randomStr(8); // 随机字符串自行生成
  18. const header = Base64.encode(JSON.stringify({
  19. "alg": "md5",
  20. "type": "jwt"
  21. }));
  22. const payload = Base64.encode(JSON.stringify({
  23. "timestamp": timestamp,
  24. "echostr": echostr,
  25. "ak": access_key
  26. }));
  27. const signature_string = header + '.' + payload;
  28. function md5Sign(string, secret){
  29. return md5(string + secret); // md5 库自行引入
  30. }
  31. const api_token = signature_string + '.' + md5Sign(signature_string,secret_key);
  32. const requestConfig = {
  33. headers: {
  34. "api-token": api_token
  35. }
  36. };
  37. //请求时
  38. axios.post('/api/example',{},requestConfig).then(res=>{
  39. // todo
  40. });

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/589276
推荐阅读
相关标签
  

闽ICP备14008679号