Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php对非常大的数字进行加密以生成较小的数字_Php_Math_Encryption_Mcrypt - Fatal编程技术网

php对非常大的数字进行加密以生成较小的数字

php对非常大的数字进行加密以生成较小的数字,php,math,encryption,mcrypt,Php,Math,Encryption,Mcrypt,我正在处理大量的数据。我的一个算法要求数字“x”小于另一个数字“n”,以便执行该算法。我想知道是否有可能对非常大的数字进行加密以生成一个较小的数字,并存储密钥,以便在需要将该数字还原为较大的数字时使用?我看过mcrypt,但它并没有输出所有的数字,从我看到的情况来看,它输出一个字符串。您所说的是压缩,而不是加密 如果有什么区别的话,加密可能会产生比其输入更大的字符串。虽然您可以压缩数字,但这将是非常微小的节省 根据可能值的范围,您可以简单地构建每个可能的大数字的数组,并使用数组索引而不是数字本身

我正在处理大量的数据。我的一个算法要求数字“x”小于另一个数字“n”,以便执行该算法。我想知道是否有可能对非常大的数字进行加密以生成一个较小的数字,并存储密钥,以便在需要将该数字还原为较大的数字时使用?我看过mcrypt,但它并没有输出所有的数字,从我看到的情况来看,它输出一个字符串。

您所说的是压缩,而不是加密

如果有什么区别的话,加密可能会产生比其输入更大的字符串。虽然您可以压缩数字,但这将是非常微小的节省


根据可能值的范围,您可以简单地构建每个可能的大数字的数组,并使用数组索引而不是数字本身。

您可以将数字转换为更高的基数,以更少的字符表示它。例如,如果您的数字以10为基数,请将其转换为以16为基数。您可以使用GMP库对这些数字进行非常精确的计算,而不是以10为基数


您可以在此处阅读有关GMP Gnu多精度库的信息:

字符串与以base 256编写的非常大的数字差别不大,如果您还不知道的话,请在上阅读。这是不可能的,还是对那些非常大的数字有限制,例如maxlagle-minlarge_numbers