WxDecryptInterface.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace App\Repositories\Contracts;
  3. /**
  4. *
  5. * @author lilin
  6. *
  7. */
  8. interface WxDecryptInterface
  9. {
  10. const TYPENAME = '微信加密解密 ';
  11. /**
  12. * xml转成数据
  13. *
  14. * @param $xml
  15. */
  16. public function xmlToArray($xml);
  17. /**
  18. * 数组转成XML
  19. *
  20. * @param array $config
  21. */
  22. public function arrayToXml(array $config);
  23. /**
  24. * 用SHA1算法生成安全签名
  25. * @param string $timestamp 时间戳
  26. * @param string $nonce 随机字符串
  27. * @param string $encrypt 密文消息
  28. */
  29. public function getSHA1($timestamp, $nonce, $encrypt_msg);
  30. /**
  31. * 发送请求
  32. *
  33. * @param string $url
  34. * @param string $content
  35. */
  36. public function sendWxHttp(string $url, $content);
  37. /**
  38. * 解密主体
  39. *
  40. * @param array $array
  41. * @param string $msgSignature
  42. * @param string $timestamp
  43. * @param string $nonce
  44. * @return string
  45. */
  46. public function decryptMsg($array, $msgSignature, $timestamp = null, $nonce);
  47. /**
  48. * 对密文进行解密
  49. *
  50. * @param string $encrypted 需要解密的密文
  51. * @return string 解密得到的明文
  52. */
  53. public function decrypt($encrypted);
  54. /**
  55. * 对解密后的明文进行补位删除
  56. *
  57. * @param string $text 解密后的明文
  58. * @return string 删除填充补位后的明文
  59. */
  60. public function decode($text);
  61. }