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有空再更新。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM