• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP hash_hmac函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中hash_hmac函数的典型用法代码示例。如果您正苦于以下问题:PHP hash_hmac函数的具体用法?PHP hash_hmac怎么用?PHP hash_hmac使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了hash_hmac函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: do_request

 /**
  * Do CURL request with authorization
  */
 private function do_request($resource, $method, $input)
 {
     $called_url = $this->base_url . "/" . $resource;
     $ch = curl_init($called_url);
     $c_date_time = date("r");
     $md5_content = "";
     if ($input != "") {
         $md5_content = md5($input);
     }
     $content_type = "application/json";
     $sign_string = $method . "\n" . $md5_content . "\n" . $content_type . "\n" . $c_date_time . "\n" . $called_url;
     $time_header = 'X-mailin-date:' . $c_date_time;
     $auth_header = 'Authorization:' . $this->access_key . ":" . base64_encode(hash_hmac('sha1', utf8_encode($sign_string), $this->secret_key));
     $content_header = "Content-Type:application/json";
     if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
         // Windows only over-ride
         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
     }
     curl_setopt($ch, CURLOPT_HTTPHEADER, array($time_header, $auth_header, $content_header));
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_HEADER, 0);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $input);
     $data = curl_exec($ch);
     if (curl_errno($ch)) {
         echo 'Curl error: ' . curl_error($ch) . '\\n';
     }
     curl_close($ch);
     return json_decode($data, true);
 }
开发者ID:lokeshguptasldt,项目名称:mailin-api-php,代码行数:34,代码来源:mailin.php


示例2: update

 public function update()
 {
     if ($GLOBALS['cached'] == false || $this->_fileHandler->lastTimeModified() >= 30) {
         // updates every 30 seconds
         $poolData = array();
         foreach ($this->_actions as $action) {
             $nonce = number_format(time() * mt_rand(), 0, '', '');
             $hmacSig = strtoupper(hash_hmac('sha256', $this->_userId . $this->_apiKey . $nonce, $this->_apiSecret));
             $postParams = http_build_query(array('key' => $this->_apiKey, 'nonce' => $nonce, 'signature' => $hmacSig));
             $poolData[$action] = curlCall($this->_apiURL . '/api/' . $action . '.htm', $postParams, 'application/x-www-form-urlencoded', array('key' => $this->_apiKey, 'sig' => $hmacSig));
             $poolData[$action] = $poolData[$action]['data'];
         }
         // Offline Check
         if (empty($poolData[$this->_actions[0]])) {
             return;
         }
         // Data Order
         $data['type'] = $this->_type;
         $data['sent'] = number_format($poolData['account']['paidOut'], 8);
         $data['balance'] = number_format($poolData['account']['balance'], 8);
         $data['current_earnings'] = number_format($poolData['account']['earnTotal'], 8);
         $data['pool_hashrate'] = formatHashrate($poolData['poolStats']['poolHashrate'] * 1000);
         // User Hashrate
         $data['user_hashrate_(1_day)'] = formatHashrate($poolData['hashrate']['last1d'] * 1000);
         $data['user_hashrate_(1_hour)'] = formatHashrate($poolData['hashrate']['last1h'] * 1000);
         $data['user_hashrate_(10_minutes)'] = formatHashrate($poolData['hashrate']['last10m'] * 1000);
         $data['eta_on_block'] = formatTimeElapsed($poolData['poolStats']['estimateTime']);
         $data['url'] = $this->_apiURL;
         $this->_fileHandler->write(json_encode($data));
         return $data;
     }
     return json_decode($this->_fileHandler->read(), true);
 }
开发者ID:ctubio,项目名称:cryptoGlance-web-app,代码行数:33,代码来源:antpool.php


示例3: _createHash

 /**
  * @param array $data
  * @param string $secret
  * @return string
  */
 protected function _createHash(array $data, $secret)
 {
     $time = time();
     array_push($data, $time);
     $dataString = join('.', $data);
     return $time . '.' . hash_hmac('sha256', $dataString, $secret);
 }
开发者ID:biniweb,项目名称:helper,代码行数:12,代码来源:HashTrait.php


示例4: sign_request

/**
 * Utility function to sign a request
 *
 * Note this doesn't properly handle the case where a parameter is set both in
 * the query string in $url and in $params, or non-scalar values in $params.
 *
 * @param string $method Generally "GET" or "POST"
 * @param string $url URL string
 * @param array $params Extra parameters for the Authorization header or post
 *  data (if application/x-www-form-urlencoded).
 *  @return string Signature
 */
function sign_request($method, $url, $params = array())
{
    global $settings;
    $parts = parse_url($url);
    // We need to normalize the endpoint URL
    $scheme = isset($parts['scheme']) ? $parts['scheme'] : 'http';
    $host = isset($parts['host']) ? $parts['host'] : '';
    $port = isset($parts['port']) ? $parts['port'] : ($scheme == 'https' ? '443' : '80');
    $path = isset($parts['path']) ? $parts['path'] : '';
    if ($scheme == 'https' && $port != '443' || $scheme == 'http' && $port != '80') {
        // Only include the port if it's not the default
        $host = "{$host}:{$port}";
    }
    // Also the parameters
    $pairs = array();
    parse_str(isset($parts['query']) ? $parts['query'] : '', $query);
    $query += $params;
    unset($query['oauth_signature']);
    if ($query) {
        $query = array_combine(array_map('rawurlencode', array_keys($query)), array_map('rawurlencode', array_values($query)));
        ksort($query, SORT_STRING);
        foreach ($query as $k => $v) {
            $pairs[] = "{$k}={$v}";
        }
    }
    $toSign = rawurlencode(strtoupper($method)) . '&' . rawurlencode("{$scheme}://{$host}{$path}") . '&' . rawurlencode(join('&', $pairs));
    $key = rawurlencode($settings['gConsumerSecret']) . '&' . rawurlencode($settings['gTokenSecret']);
    return base64_encode(hash_hmac('sha1', $toSign, $key, true));
}
开发者ID:kenrick95,项目名称:rang,代码行数:41,代码来源:main.php


示例5: crypt

 /**
  * Return a hashed string.
  *
  * @param string $password
  *   The string to be hashed.
  * @param string $salt
  *   An optional salt string to base the hashing on. If not provided, a
  *   suitable string is generated by the adapter.
  * @return string
  *   Returns the hashed string. On failure, a standard crypt error string
  *   is returned which is guaranteed to differ from the salt.
  * @throws RuntimeException
  *   A RuntimeException is thrown on failure if
  *   self::$_throwExceptionOnFailure is true.
  */
 public function crypt($password, $salt = null)
 {
     if (!$salt) {
         $salt = $this->genSalt();
     }
     $hash = '*0';
     if ($this->verify($salt)) {
         $parts = $this->_getSettings($salt);
         $rounds = $parts['rounds'];
         $checksum = hash_hmac('sha1', $parts['salt'] . '$sha1$' . $parts['rounds'], $password, true);
         --$rounds;
         if ($rounds) {
             do {
                 $checksum = hash_hmac('sha1', $checksum, $password, true);
             } while (--$rounds);
         }
         // Shuffle the bits around a bit
         $tmp = '';
         foreach (array(2, 1, 0, 5, 4, 3, 8, 7, 6, 11, 10, 9, 14, 13, 12, 17, 16, 15, 0, 19, 18) as $offset) {
             $tmp .= $checksum[$offset];
         }
         $checksum = $tmp;
         $hash = '$sha1$' . $parts['rounds'] . '$' . $parts['salt'] . '$' . $this->_encode64($checksum, 21);
     }
     if (!$this->verifyHash($hash)) {
         $hash = $salt != '*0' ? '*0' : '*1';
         if ($this->_throwExceptionOnFailure) {
             throw new RuntimeException('Failed generating a valid hash', $hash);
         }
     }
     return $hash;
 }
开发者ID:RamaKavanan,项目名称:InitialVersion,代码行数:47,代码来源:Sha1Crypt.php


示例6: mtgoxQuery

 /**
  * Send data to specific mtgox api url
  *
  * @staticvar null $ch
  *
  * @param string $path   mtgox api path
  * @param string $key    mtgox key
  * @param string $secret mtgox secret key
  * @param array  $req    date to be sent
  *
  * @return array
  * @throws Exception
  */
 public function mtgoxQuery($path, $key, $secret, array $req = array())
 {
     $mt = explode(' ', microtime());
     $req['nonce'] = $mt[1] . substr($mt[0], 2, 6);
     $postData = http_build_query($req, '', '&');
     $headers = array('Rest-Key: ' . $key, 'Rest-Sign: ' . base64_encode(hash_hmac('sha512', $postData, base64_decode($secret), TRUE)));
     static $ch = NULL;
     if (is_null($ch)) {
         $ch = curl_init();
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
         curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MtGox PHP client; ' . php_uname('s') . '; PHP/' . phpversion() . ')');
     }
     curl_setopt($ch, CURLOPT_URL, 'https://mtgox.com/api/' . $path);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
     $res = curl_exec($ch);
     if ($res === FALSE) {
         $msg = 'Could not get reply: ' . curl_error($ch);
         Mage::log($msg, Zend_Log::ERR);
         Mage::getSingleton('core/session')->addError($msg);
     }
     $dec = json_decode($res, TRUE);
     if (!$dec) {
         $msg = 'Invalid data received, please make sure connection is working and requested API exists';
         Mage::log($msg, Zend_Log::ERR);
         Mage::getSingleton('core/session')->addError($msg);
     }
     return $dec;
 }
开发者ID:rintema,项目名称:magento,代码行数:43,代码来源:Data.php


示例7: _parseSignedRequest

 private function _parseSignedRequest()
 {
     if (!is_string($this->_fbSigs) || empty($this->_fbSigs)) {
         $this->isAuthed = false;
         throw new SFB_Exception('Invalid Sigs');
     }
     list($encoded_sig, $payload) = explode('.', $this->_fbSigs, 2);
     // decode the data
     $sig = $this->_base64UrlDecode($encoded_sig);
     $data = json_decode($this->_base64UrlDecode($payload), true);
     if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
         $this->isAuthed = false;
         throw new SFB_Exception('Invalid Sigs');
     }
     // check sig
     $expected_sig = hash_hmac('sha256', $payload, $this->_fbSettings['fbSecret'], $raw = true);
     if ($sig !== $expected_sig) {
         $this->isAuthed = false;
         throw new SFB_Exception('Invalid Sigs');
     }
     $this->isAuthed = true;
     $this->fbSigs = $data;
     if (isset($this->fbSigs['oauth_token']) && is_string($this->fbSigs['oauth_token']) && !empty($this->fbSigs['oauth_token'])) {
         $this->hasInstalled = true;
     }
     if (isset($this->fbSigs['user_id']) && is_string($this->fbSigs['user_id']) && !empty($this->fbSigs['user_id'])) {
         $this->_fbid = $this->fbSigs['user_id'];
     } else {
         $this->_fbid = '0';
         $this->isAuthed = false;
     }
     return true;
 }
开发者ID:GeeH,项目名称:Spabbys-Facebook-Integration,代码行数:33,代码来源:FacebookAuth.php


示例8: url

 public function url($reference)
 {
     $timestamp = gmdate('D, d M Y H:i:s T');
     $security = base64_encode(hash_hmac('sha256', utf8_encode("{$reference}\n{$timestamp}"), $this->client->api_secret, true));
     $data = array('key' => $this->client->api_key, 'timestamp' => $timestamp, 'reference' => $reference, 'security' => $security);
     return $this->client->api_endpoint . '/widget?' . http_build_query($data);
 }
开发者ID:Wizypay,项目名称:wizypay-api-client-php,代码行数:7,代码来源:card.php


示例9: hash_hmac

 public static function hash_hmac($algo, $data, $key, $raw_output = false)
 {
     if (function_exists('hash_hmac')) {
         return hash_hmac($algo, $data, $key, $raw_output);
     }
     return self::_hash_hmac($algo, $data, $key, $raw_output);
 }
开发者ID:SerdarSanri,项目名称:sentry-raven-laravel3-bundle,代码行数:7,代码来源:Compat.php


示例10: calculateCode

 public function calculateCode($secret, $timeSlice = null)
 {
     // If we haven't been fed a timeSlice, then get one.
     // It looks a bit unclean doing it like this, but it allows us to write testable code
     $timeSlice = $timeSlice ? $timeSlice : $this->getTimeSlice();
     // Packs the timeslice as a "unsigned long" (always 32 bit, big endian byte order)
     $timeSlice = pack("N", $timeSlice);
     // Then pad it with the null terminator
     $timeSlice = str_pad($timeSlice, 8, chr(0), STR_PAD_LEFT);
     // Hash it with SHA1. The spec does offer the idea of other algorithms, but notes that the authenticator is currently
     // ignoring it...
     $hash = hash_hmac("SHA1", $timeSlice, Base32::decode($secret), true);
     // Last 4 bits are an offset apparently
     $offset = ord(substr($hash, -1)) & 0xf;
     // Grab the last 4 bytes
     $result = substr($hash, $offset, 4);
     // Unpack it again
     $value = unpack('N', $result)[1];
     // Only 32 bits
     $value = $value & 0x7fffffff;
     // Modulo down to the right number of digits
     $modulo = pow(10, $this->codeLength);
     // Finally, pad out the string with 0s
     return str_pad($value % $modulo, $this->codeLength, '0', STR_PAD_LEFT);
 }
开发者ID:dolondro,项目名称:google-authenticator,代码行数:25,代码来源:GoogleAuthenticator.php


示例11: calculateRFC2104HMAC

 /**
  * Computes RFC 2104-compliant HMAC signature.
  * 
  * @param data
  *            The data to be signed.
  * @param key
  *            The signing key, a.k.a. the AWS secret key.
  * @return The base64-encoded RFC 2104-compliant HMAC signature.
  */
 public function calculateRFC2104HMAC($data, $key)
 {
     // compute the hmac on input data bytes, make sure to set returning raw hmac to be true
     $rawHmac = hash_hmac(SignatureCalculator::$HMAC_SHA1_ALGORITHM, $data, $key, true);
     // base64-encode the raw hmac
     return base64_encode($rawHmac);
 }
开发者ID:selva316,项目名称:payment,代码行数:16,代码来源:SignatureCalculator.php


示例12: signature

 /**
  * Generate a hash signature incorporating a client's secret.
  * Based on OAuth 1.0a signature procedure.
  * 
  * @param string|array $content
  * @return string
  */
 public function signature($content)
 {
     if (is_array($content)) {
         $content = $this->arrayToString($content);
     }
     return hash_hmac('sha256', $content, $this->client_secret);
 }
开发者ID:NimbusVisualization,项目名称:nimbus-3dproducts,代码行数:14,代码来源:Data.php


示例13: generate_signature

 /**
  * generate_signature - Builds the signature var needed to authenticate
  *
  * @param int $timestamp
  * @returns string URL encoded Signature key/value pair
  */
 function generate_signature($timestamp)
 {
     $timestamp = isset($timestamp) ? $timestamp : time() + 300;
     // one minute into the future
     $hash = hash_hmac('sha1', $this->access_id . "\n" . $timestamp, $this->secret_key, true);
     return urlencode(base64_encode($hash));
 }
开发者ID:m-godefroid76,项目名称:devrestofactory,代码行数:13,代码来源:class-seomozapi.php


示例14: decrypt

 /**
  * Decrypt a string.
  *
  * @access public
  * @static static method
  * @param  string $ciphertext
  * @return string
  * @throws Exception If $ciphertext is empty, or If functions don't exists
  */
 public static function decrypt($ciphertext)
 {
     if (empty($ciphertext)) {
         throw new Exception("the string to decrypt can't be empty");
     }
     if (!function_exists('openssl_cipher_iv_length') || !function_exists('openssl_decrypt')) {
         throw new Exception("Encryption function don't exists");
     }
     // generate key used for authentication using ENCRYPTION_KEY & HMAC_SALT
     $key = mb_substr(hash(self::HASH_FUNCTION, Config::get('ENCRYPTION_KEY') . Config::get('HMAC_SALT')), 0, 32, '8bit');
     // split cipher into: hmac, cipher & iv
     $macSize = 64;
     $hmac = mb_substr($ciphertext, 0, $macSize, '8bit');
     $iv_cipher = mb_substr($ciphertext, $macSize, null, '8bit');
     // generate original hmac & compare it with the one in $ciphertext
     $originalHmac = hash_hmac('sha256', $iv_cipher, $key);
     if (!function_exists("hash_equals")) {
         throw new Exception("Function hash_equals() doesn't exist!");
     }
     if (!hash_equals($hmac, $originalHmac)) {
         return false;
     }
     // split out the initialization vector and cipher
     $iv_size = openssl_cipher_iv_length(self::CIPHER);
     $iv = mb_substr($iv_cipher, 0, $iv_size, '8bit');
     $cipher = mb_substr($iv_cipher, $iv_size, null, '8bit');
     return openssl_decrypt($cipher, self::CIPHER, $key, OPENSSL_RAW_DATA, $iv);
 }
开发者ID:scienide00,项目名称:WebDev_ConferenceScheduler,代码行数:37,代码来源:Encryption.php


示例15: _hash

 public static function _hash($message)
 {
     if (!isset(Recurly_js::$privateKey) || strlen(Recurly_js::$privateKey) != 32) {
         throw new Recurly_ConfigurationError("Recurly.js private key is not set. The private key must be 32 characters.");
     }
     return hash_hmac('sha1', $message, Recurly_js::$privateKey);
 }
开发者ID:Airmal,项目名称:Magento-Em,代码行数:7,代码来源:recurly_js.php


示例16: it_compute_payload_with_secret

 function it_compute_payload_with_secret()
 {
     $payload = 'payload';
     $secret = 'secret';
     $signature = hash_hmac('sha1', $payload, $secret);
     $this::compute($payload, $secret)->shouldReturn($signature);
 }
开发者ID:tgallice,项目名称:fb-messenger-sdk,代码行数:7,代码来源:XHubSignatureSpec.php


示例17: post

 function post()
 {
     $this->flushBrowser();
     \Idno\Core\site()->logging->log("Loading the user registration callback", LOGLEVEL_DEBUG);
     $contents = $this->getInput('content');
     $auth_token = $this->getInput('auth_token');
     $time = $this->getInput('time');
     $signature = $this->getInput('signature');
     $secret = \Idno\Core\site()->hub()->secret;
     $hmac = hash_hmac('sha1', $contents . $time . $auth_token, $secret);
     if ($hmac == $signature) {
         if ($contents = json_decode($contents)) {
             if (!empty($contents->user)) {
                 if ($user = \Idno\Entities\User::getByUUID($contents->user)) {
                     $user->hub_settings = array('token' => $contents->auth_token, 'secret' => $contents->secret);
                     $user->save();
                     $result = array('status' => 'ok', 'message' => 'Credentials were stored.');
                 } else {
                     $result = array('status' => 'fail', 'message' => 'Couldn\'t find user: ' . $contents->user);
                 }
             } else {
                 $result = array('status' => 'fail', 'message' => 'No user was sent');
             }
         } else {
             $result = array('status' => 'fail', 'message' => 'Contents were invalid');
         }
     }
     if (empty($result)) {
         $result = array('status' => 'fail', 'message' => 'Signature does not match: ' . $signature . ', ' . $hmac);
     }
     echo json_encode($result);
     exit;
 }
开发者ID:hank,项目名称:Known,代码行数:33,代码来源:User.php


示例18: generateRequestSign

 /**
  * Generates the fingerprint for request.
  *
  * @param string $merchantApiLoginId
  * @param string $merchantTransactionKey
  * @param string $amount
  * @param string $fpSequence An invoice number or random number.
  * @param string $fpTimestamp
  * @return string The fingerprint.
  */
 public function generateRequestSign($merchantApiLoginId, $merchantTransactionKey, $amount, $currencyCode, $fpSequence, $fpTimestamp)
 {
     if (phpversion() >= '5.1.2') {
         return hash_hmac("md5", $merchantApiLoginId . "^" . $fpSequence . "^" . $fpTimestamp . "^" . $amount . "^" . $currencyCode, $merchantTransactionKey);
     }
     return bin2hex(mhash(MHASH_MD5, $merchantApiLoginId . "^" . $fpSequence . "^" . $fpTimestamp . "^" . $amount . "^" . $currencyCode, $merchantTransactionKey));
 }
开发者ID:blazeriaz,项目名称:youguess,代码行数:17,代码来源:Request.php


示例19: auth

    /**
     * admin_auth
     *
     * @return void
     */
    public function auth()
    {
        Configure::write('debug', 0);
        $secretKey = "18sdtadmin40";
        if (!$secretKey) {
            die('{"error" : {"message" : "No secret key set.", "code" : 130}}');
        }
        if (!isset($_REQUEST["hash"]) || !isset($_REQUEST["seed"])) {
            die('{"error" : {"message" : "Error in input.", "code" : 120}}');
        }
        if (!$this->Session->check('Auth.User.id')) {
            die('{"error" : {"message" : "Not authenticated.", "code" : 180}}');
        }
        $hash = $_REQUEST["hash"];
        $seed = $_REQUEST["seed"];
        $localHash = hash_hmac('sha256', $seed, $secretKey);
        if ($hash == $localHash) {
            // Hard code some rootpath, get something from sessions etc.
            die('{"result" : {
  	  	"filesystem.rootpath" : "../../../../webroot/uploads",
  	  	"filesystem.local.wwwroot" : "/full/path/to/public_html/webroot/"
	  	}}');
        } else {
            die('{"error" : {"message" : "Error in input.", "code" : 120}}');
        }
    }
开发者ID:vidalweb,项目名称:MoxieManager,代码行数:31,代码来源:MoxieManagerController.php


示例20: make_api_call

function make_api_call($url, $http_method, $post_data = array(), $uid = null, $key = null)
{
    $full_url = 'https://app.onepagecrm.com/api/v3/' . $url;
    $ch = curl_init($full_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $http_method);
    $timestamp = time();
    $auth_data = array($uid, $timestamp, $http_method, sha1($full_url));
    $request_headers = array();
    // For POST and PUT requests we will send data as JSON
    // as with regular "form data" request we won't be able
    // to send more complex structures
    if ($http_method == 'POST' || $http_method == 'PUT') {
        $request_headers[] = 'Content-Type: application/json';
        $json_data = json_encode($post_data);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
        $auth_data[] = sha1($json_data);
    }
    // Set auth headers if we are logged in
    if ($key != null) {
        $hash = hash_hmac('sha256', implode('.', $auth_data), $key);
        $request_headers[] = "X-OnePageCRM-UID: {$uid}";
        $request_headers[] = "X-OnePageCRM-TS: {$timestamp}";
        $request_headers[] = "X-OnePageCRM-Auth: {$hash}";
    }
    curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
    $result = json_decode(curl_exec($ch));
    curl_close($ch);
    if ($result->status > 99) {
        echo "API call error: {$result->message}\n";
        return null;
    }
    return $result;
}
开发者ID:aprilla2crash,项目名称:shopify-tools,代码行数:34,代码来源:webhooks.php



注:本文中的hash_hmac函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP hash_hmac_file函数代码示例发布时间:2022-05-15
下一篇:
PHP hash_final函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap