ThinkPHP/Library/Vendor/phpRPC/bigint.php

(开头部分) 19KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php
/**********************************************************\
|                                                          |
| The implementation of PHPRPC Protocol 3.0                |
|                                                          |
| bigint.php                                               |
|                                                          |
| Release 3.0.1                                            |
| Copyright by Team-PHPRPC                                 |
|                                                          |
| WebSite:  http://www.phprpc.org/                         |
|           http://www.phprpc.net/                         |
|           http://www.phprpc.com/                         |
|           http://sourceforge.net/projects/php-rpc/       |
|                                                          |
| Authors:  Ma Bingyao <andot@ujn.edu.cn>                  |
|                                                          |
| This file may be distributed and/or modified under the   |
| terms of the GNU General Public License (GPL) version    |
| 2.0 as published by the Free Software Foundation and     |
| appearing in the included file LICENSE.                  |
|                                                          |
\**********************************************************/

/* Big integer expansion library.
 *
 * Copyright: Ma Bingyao <andot@ujn.edu.cn>
 *            mgccl <mgcclx@gmail.com>
 * Version: 3.0.1
 * LastModified: Apr 12, 2010
 * This library is free.  You can redistribute it and/or modify it under GPL.
 */

if (extension_loaded('gmp')) {
    function bigint_dec2num($dec) {
        return gmp_init($dec);
    }
    function bigint_num2dec($num) {
        return gmp_strval($num);
    }
    function bigint_str2num($str) {
        return gmp_init("0x".bin2hex($str));
    }
    function bigint_num2str($num) {
        $str = gmp_strval($num, 16);
        $len = strlen($str);
        if ($len % 2 == 1) {
            $str = '0'.$str;
        }
        return pack("H*", $str);
    }
    function bigint_random($n, $s) {
        $result = gmp_init(0);
        for ($i = 0; $i < $n; $i++) {
            if (mt_rand(0, 1)) {
                gmp_setbit($result, $i);
            }
        }
        if ($s) {
            gmp_setbit($result, $n - 1);
后面还有 309 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。