zoukankan      html  css  js  c++  java
  • python libnum库安装使用方法

    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='01110000011000110110000101110100'
    print libnum.b2s(b)
    #二进制的位数最好是8的倍数
    import libnum
    s='pcat'
    print libnum.s2b(s)

    数字转二进制串,前面补0:

    from libnum import *
    n=0xfff
    print s2b(n2s(n))

    0x4 质数&因数分解

    生成质数:

    print libnum.generate_prime(1024)

    因数分解:

    print libnum.factorize(1024)

    0x5 其他的

    等pcat有空再更新。

  • 相关阅读:
    04.DRF-开发REST 接口
    03.DRF-设计方法
    02.DRF-认识RESTful
    01.DRF-Web应用模式
    14.Django-xadmin和富文本编辑器
    13.Django-分页
    12.Django-admin
    11.Django-form表单上传文件
    android 基于wifi模块通信开发
    android蓝牙通讯开发(详细)
  • 原文地址:https://www.cnblogs.com/pcat/p/7225782.html
Copyright © 2011-2022 走看看