libnum库是一个关于各种数学运算的函数库,它包含common maths、modular、modular squre roots、primes、factorization、ECC、converting、stuff等方面的函数,个人觉得结合gmpy2库PyCrypto库一起来使用会使计算变得非常简便。

------------------------------------------------------------------------

0x1 安装

git clone https://github.com/hellman/libnum
cd libnum
python setup.py install

-= 2018.01补充 =-

原版的libnum只支持python2,若是用python3安装会因为没有reduce、xrange而报错。

-= 2020.05补充 =-

python 3 compatibility:
git clone https://github.com/warnerjon12/libnum
cd libnum
python setup.py install

0x2 坑爹的pip安装

Pypi上的libnum介绍是python3 comptaible fork for libnum - Some number theoretic functions.

如果你使用pip安装:

pip install libnum

这个版本只能在py3中使用,但能在py2顺利安装,一使用就会报错,因为其strings.py的写法只适应于py3。

0x3 常用的Converting

数字型(不论是十六进制还是十进制)与字符串之间的转换:

import libnum
s="flag{pcat}"
print libnum.s2n(s)
import libnum
n=0x666c61677b706361747d
print libnum.n2s(n)
#这个转换不用在意十六进制的位数是否为偶数

二进制与字符串之间的转换:

import libnum
b=''
print libnum.b2s(b)
#二进制的位数最好是8的倍数
import libnum
s='pcat'
print libnum.s2b(s)

0x4 质数&因数分解

生成质数:

print libnum.generate_prime()

因数分解:

print libnum.factorize()

0x5 其他的

等pcat有空再更新。

python libnum库安装使用方法的更多相关文章

  1. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...

  2. 055 Python第三方库安装

    目录 一.概述 二.看见更大的Python世界 2.1 Python社区 2.1.1 PyPI 2.1.2 实例:开发与区块链相关的程序 2.2 安装Python第三方库 三.第三方库的pip安装方法 ...

  3. python常用库安装网址

    python常用库安装网址如下: http://pypi.python.org/pypi

  4. win10本地python第三方库安装成功,但是pycharm项目无法使用解决方案

    一.背景win10本地python第三方库安装成功,但是pycharm项目无法使用解决方案如本地安装的python中的request库,在pycharm项目中居然无法使用,比较郁闷 pip list ...

  5. python os库的使用方法 + 自动化安装第三方库脚本

    一.os库基本介绍 os库提供通用的.基本的操作系统交互功能,包括windows.Mac os.linux os库是python标准库,包含几百个函数 常用路径操作.进程管理.环境参数等几类 路径操作 ...

  6. window下python 扩展库安装 使用第三方镜像源

    0.前言     由于python的官方镜像位于国外,若使用pip或者easy_install安装第三方插件时或许会被限制,甚至连easy_install或pip也无法安装,例如在windows环境下 ...

  7. Python pillow库安装报错

    报错信息: D:\pythontest\duanxinhongzha>pip3 install pillowCollecting pillow Could not find a version ...

  8. python第三方库安装与卸载

    一.检查python环境是否正常 python安装完毕并设置环境变量后,可在cmd中运行python查看,显示版本等信息  二.查看已经安装的第三方库 通过pip list可查看已安装的库,以及对应的 ...

  9. python 爬虫库安装

    一键安装python爬虫库 pip3 install requests selenium beautifulsoup4 pyquery pymysql pymongo redis flask djan ...

随机推荐

  1. Redis 开启远程连接

    默认 bind 127.0.0.1 即绑定本机 IP,只能本机访问,你也可以绑定别的 IP 地址,如果注释掉,表示不限制 IP,所有 IP 都能访问 # ~~~ WARNING ~~~ If the ...

  2. Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(下)

    LinearGradient 线性渐变渲染器 LinearGradient中文翻译过来就是线性渐变的意思.线性渐变通俗来讲就是给起点设置一个颜色值如#faf84d,终点设置一个颜色值如#CC423C, ...

  3. Scrollview嵌套Recyclerview嵌套滑动冲突,导致滑动时会出现卡顿的现象

    recyclerView.setLayoutManager(new GridLayoutManager(mContext,2){ @Override public boolean canScrollV ...

  4. django 与 Vue 的结合使用说明

    1.第一步有一个Django项目 先是创建一个Django项目 django-admin startproject demo 然后创建一个application应用 python manage.py ...

  5. Hive分区

    注意:必须在表定义时指定对应的partition字段. 一.指定分区 1.单分区 建表语句:create table day_table(id int, content string) partiti ...

  6. SQL 中事务的分类

    先讲下事务执行流程: BEGIN和COMMIT PRINT @@TRANCOUNT --@@TRANCOUNT统计事务数量 BEGIN TRAN PRINT @@TRANCOUNT BEGIN TRA ...

  7. 最详细的C++对应C#的数据类型转换

    C++ ---------------------- C# LDWORD ----------------IntPtr LLONG-------------------Intptr bool ---- ...

  8. EOS之eosio.token合约的部署和发放token

    eosio.token智能合约 在eos目录中自带的合约中,有一个eosio.token智能合约,这个智能合约的功能是为账户发放token,token可以用来转账操作. 操作步骤 在eos私有节点操作 ...

  9. PHP中生产不重复随机数的方法

    PHP内置函数不重复随机数        需求:要生成一个数组,这个数组里面有10个元素,都是整形,并且是1-60之间不重复的随机数.  代码: 代码示例: 1 2 3 4 5 6 7 8 9 10 ...

  10. C# -- Lambda 表达式的使用

    C# -- Lambda 表达式的使用 Lambda 表达式是作为对象处理的代码块(表达式或语句块). 它可作为参数传递给方法,也可通过方法调用返回. Lambda 表达式是可以表示为委托的代码,或者 ...