| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- use app\common\library\EthSign;
- use fast\Random;
- /**
- * 生成随机hash值
- * @param int $uid
- * @return string
- */
- function randTxHash(int $uid): string
- {
- return Random::uuid();
- }
- /**
- * 签名校验
- * @param string $msg
- * @param $sign
- * @param $address
- * @return bool
- */
- function checkSign(string $msg, $sign, $address): bool
- {
- // return true; // 调试
- if (empty($msg) || empty($sign) || empty($address)) {
- return false;
- }
- $ethSign = new EthSign();
- try {
- return $ethSign->verifySign($msg, $sign, $address);
- } catch (\Exception $e) {
- return false;
- }
- }
- /**
- * 获取配置
- * @param string $msg
- * @return string
- */
- function getConfig(string $name): string
- {
- return (new \app\common\model\Config())->where('name', $name)->value('value');
- }
- /**
- * 获取配置
- * @param string $prefix
- * @return string
- */
- function getOrderSN(string $prefix = 'ORD'): string
- {
- return $prefix.date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 10);
- }
|